haiku/headers/os
X512 2141d2fe3a input: fix KEY_power key code conflict with japanese \_ key
- This key code is inherited from BeOS, where it was used for the power
  key on Apple ADB keyboards
- Since then, we have introduced a new system for "multimedia" keys,
  that uses HID key codes directly instead of defining our own mappings
- The PS2 driver was using the HID keycode, but the USB driver was still
  using the BeOS defined one
- Japanese keyboards, which have a few more keys than US and European
  ones, reused the same keycode for something else

Since the power key does not need to be mapped by the keymap, move it
out of the way by using the HID keycode (key codes larger than 0x7f
cannot be mapped to UTF8 symbols). Remove all mentions of the use of
0x6b as a keycode for the power key, but add a note in the documentation
that BeOS did this.

To avoid further confusions, complete the documentation of extra
keycodes, and remove some definitions from keyboard_mouse_driver.h that
should have been in InterfaceDefs.h.

While researching this, I also found that some keys specific to Korean
keyboards were declared in the wrong place, as mapped codes instead of
unmapped ones (checked that by looking at the HID driver, which emits
these raw keycodes, and confirming that the mapped ones are not used in
any keymaps. Also added a note about the mapping of the extra modifier
keys in Japanese keyboards, which I think may be a problem since these
map to invalid UTF-8 byte sequences, but this is what the existing
keymap does, so leaving it as is for now until we can determine if this
can be changed or if we have to keep it that way.

Change-Id: I6a198a0840cba7739bdc78e0c65e5d8fd23956c9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8047
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2024-08-19 16:00:25 +00:00
..
add-ons
app
arch
be_apps
bluetooth L2CAP: Major refactor of the whole component. 2024-05-01 00:25:43 -04:00
device
drivers pcmcia: fix compilation warnings and errors 2024-04-15 16:02:49 +00:00
game
interface input: fix KEY_power key code conflict with japanese \_ key 2024-08-19 16:00:25 +00:00
kernel OS.h: Define B_INFINITE_TIMEOUT in hexadecimal. 2024-08-07 14:49:05 -04:00
locale BCatalog: declare GetString as format_printf function 2024-05-03 16:38:23 +00:00
mail
media
midi
midi2
net
package kits/package: allow to set BPackageResolvable to parsed string 2024-03-28 14:37:49 +00:00
storage finddir: Add SYSTEM_DESKBAR_DIRECTORY 2024-04-13 14:03:35 +00:00
support
translation
AppKit.h
Be.h
BeBuild.h Versioning: Add BETA_5 and PRE_BETA_6 version constants. 2024-08-08 10:42:41 -04:00
DeviceKit.h
GameKit.h
InterfaceKit.h headers/os: Add missing Interface Kit includes 2024-01-28 20:36:07 +00:00
KernelKit.h
LocaleKit.h
MailKit.h
MediaKit.h
MidiKit.h
NetKit.h
NetworkKit.h
StorageKit.h
SupportKit.h
TranslationKit.h