maemo.org Bugzilla – Bug 3913
Bind Maemo hardware keys to their own keycodes, separate from generic F-keys.
Last modified: 2012-03-24 11:37:53 UTC
You need to log in before you can comment on or make changes to this bug.
SOFTWARE VERSION: 4.1.2 (4.2008.36-5) STEPS TO REPRODUCE THE PROBLEM: Connect external keyboard and try pressing F-keys. EXPECTED OUTCOME: F-keys should act as generic function keys, like on any other desktop. ACTUAL OUTCOME: Several F-key keycodes are bound to Maemo hardware keys, as shown here: http://maemomm.garage.maemo.org/docs/tutorial/html/ch02s03.html Additionally, the RETURN keycode is bound to the directional pad center. REPRODUCIBILITY: always
http://maemo.org/maemo_release_documentation/maemo4.1.x/Maemo_Diablo_Reference_Manual_for_maemo_4.1.pdf , Section 6.6.3 Hardware Keys That's not a bug, but a design decision. Feel free to provide an example which external keyboard keys should be used instead for the N8x0 hardware keys if you are not content with the current collection. In GNOME, Open Menu is F10 and Full screen view is F11.
(In reply to comment #1) > That's not a bug, but a design decision. Feel free to provide an example which > external keyboard keys should be used instead for the N8x0 hardware keys if you > are not content with the current collection. Gnumeric Example: F3 - Open F5 - Goto Cell (Can't use in Maemo) F6 - Search&Replace (Can't use in Maemo) F7 - Search (Can't use in Maemo) F9 - Recalculate > In GNOME, Open Menu is F10 and Full screen view is F11. Similarly in Windows. Yet, F1-F9 are normally left to the applications. Making them perform special functions makes it more difficult to port and use Gnome applications, such as Gnumeric, etc.
Hmm, I asked for a proposal that I haven't seen yet here... Please confirm that this is the *full* list of keys you complain about: Open menu F4 GDK_F4 Full screen F6 GDK_F6 Increase / Zoom in / Volume up F7 GDK_F7 Decrease / Zoom out / Volume down F8 GDK_F8 > F5 - Goto Cell (Can't use in Maemo) Any idea why this does not work? What happens in Maemo? Just "nothing"? Even if we move F4 to F10 and F6 to F11, we still only have F12 left. I wonder whether to map F7 to Control+plus and F8 to Control+minus.
(In reply to comment #3) > Hmm, I asked for a proposal that I haven't seen yet here... I am proposing to create new definitions for hardware keys that do not intersect with any existing GDK_* definitions in GTK. Something like: GDK_MAEMO_MENU GDK_MAEMO_HOME GDK_MAEMO_FULLSCREEN GDK_MAEMO_INCREASE GDK_MAEMO_DECREASE GDK_MAEMO_SELECT > Please confirm that this is the *full* list of keys you complain about: > Open menu F4 GDK_F4 > Full screen F6 GDK_F6 > Increase / Zoom in / Volume up F7 GDK_F7 > Decrease / Zoom out / Volume down F8 GDK_F8 Also: Show Home F5 GDK_F5 Confirm RETURN GDK_RETURN The GDK_RETURN binding becomes problematic because some BT keyboards (like Apple BT keyboard) generate GDK_RETURN when the ENTER key is pressed. > > F5 - Goto Cell (Can't use in Maemo) > Any idea why this does not work? What happens in Maemo? Just "nothing"? In Maemo, GDK_F5 is the HOME hardware key. > Even if we move F4 to F10 and F6 to F11, we still only have F12 left. > I wonder whether to map F7 to Control+plus and F8 to Control+minus. As mentioned above, I suggest to create a whole new set of numeric key codes that do not intersect with existing GDK_* key codes. These hardware keys are new keys, not the same as ones found in normal keyboards, so it makes no sense to map them to normal keyboard key codes.
But F5 normally works for you? I'm a bit surprised because of bug 2182.
(In reply to comment #5) > But F5 normally works for you? I'm a bit surprised because of bug 2182. I have no idea. Bug 2182 is reported for the Scratchbox Hildon environment, not for the real device. I have not used SB1 for months and do not even have it installed. The idea of this bug (3913) is that F-keys perform application-dependent functions in non-Maemo GTK-based software and thus should not be mixed with Maemo hardware keys.
(In reply to comment #6) > The idea of this bug (3913) is that F-keys perform application-dependent > functions in non-Maemo GTK-based software and thus should not be mixed with > Maemo hardware keys. I'd support treating the tablet keys similar to special function keys in multimedia-keyboards (Full Screen, Zoom in and Zoom out and Power are not uncommon there) without overlapping with the generic function keys. I know there is useable support for this kind of keys in KDE and assume there should also for Gnome/GTK. One resulting question is how to simulate them in scratchbox then!
This request is now listed at http://wiki.maemo.org/Mainstream_Linux_Alignment#freedesktop.org_level Is there any related freedesktop.org reference followed by GNOME/KDE? That would help.
Moved to core. This is not input method area.
Eero, any comments?
(In reply to comment #10) > Eero, any comments? The proposal of not using generic F-keys is fine and I think we should do this at some point (it has been discussed earlier internally). It will require: - changing the HW key mappings in kernel (and/or in X?) - changing the corresponding defines in the Hildon header - re-compiling all applications (also 3rd party ones) which use this header - fixing the code in applications which don't use this header (I don't think e.g. any of the 3rd party SDL games to use Hildon header files) It would be nice to have this in Fremantle, but somebody needs to specifically drive it internally as this is an API break, not just a bug.
Mmm... considering how busy are already the teams working on Kernel, Xorg and Hildon I prefer not to raise this (unplanned) flag right now for Fremantle. However, we have time to do the right thing for Harmattan. Assigning t me while I find the right godfather.
This is not Busybox. Moving to Kernel since this is the first component where the work needs to be done.
Additional clarification about the RETURN key: Current version of Maemo binds GDK_Return to the DPad center button, while binding GDK_KP_Enter to the real RETURN key. This is wrong, as it interferes with external keyboards which report their RETURN keys as GDK_Return. Specifically, the following two scenarios occur: 1. If a developer processes GDK_Return and GDK_KP_Enter equally, the users will accidentally press DPad center button while navigating (it is easy to press accidentally) and mess things up. 2. If a developer explicitely disables GDK_Return processing in his application, the DPad navigation becomes safe, but the RETURN keys on external keyboards no longer work. Proposed solution is to create a new binding for the DPad center button and assign GDK_Return to the proper RETURN key on the keyboard. GDK_KP_Enter should only be used for extra keypad keys.
Just to confirm that this is indeed not solved in Fremantle. Kernel for RX-51 has hardcoded mappings for F6, F7 (real buttons) and F8,F9,F10 (reserved but no row/column mapping = virtual keys, F9 and F10 are generated in camera button driver, not found F8 anywhere). So it looks like F4,F5 are gone but we may have clash with F9/F10 now :-) Personally this bothers me too while running midnight commander in osso-xterm - you press F7/F8 on bluetooth/usb keyboard to mkdir/delete and it will change terminal font size instead :-) Similar for other keys (F4 pops osso-xterm menu, F5 does nothing at all, F6 toggles full screen).
The Maemo 5 User Interface and Maemo 5 platform components (e.g. libraries) used for the N900 are considered stable by Nokia and it seems that there are no plans for official updates currently, hence nobody plans to work on this enhancement/wishlist request. (And in case you feel like discussing this situation: Nokia Customer Care or http://talk.maemo.org would be the place to do so as you will not reach Nokia officials in this community bugtracker - though all of this is really no news.) Reflecting this status by setting RESOLVED WONTFIX for this enhancement/wishlist request (see https://bugs.maemo.org/page.cgi?id=fields.html#status for status explanations). There is a small chance for issues in those Maemo components that are open source: Contributed patches could be included and made available in the Maemo 5 Community CSSU updates. The Maemo CSSU project is run by a small team of volunteers; see http://wiki.maemo.org/CSSU for more information. So in case that you can provide a patch that fixes the reported problem, please feel encouraged to file a request under https://bugs.maemo.org/enter_bug.cgi?product=Maemo%205%20Community%20SSU . Please note: The Maemo CSSU project is not related in any way to Nokia. ( Tag for mass-deleting bugmail: [cleanup20120324] )