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 Refactor touchpad movement generation by migrating MovementMaker to userland. 2022-07-18 16:00:29 +00:00
app headers/os: Make headers generator-friendly 2023-07-11 14:40:02 +00:00
arch kernel/arch/user_debugger: implement for risv64 2021-08-06 15:42:49 +00:00
be_apps be_apps/ServicesDaemon: Remove. 2016-07-29 18:41:30 -04:00
bluetooth L2CAP: Major refactor of the whole component. 2024-05-01 00:25:43 -04:00
device USB: Move usb_iso_packet_descriptor to a separate header. 2021-09-02 16:00:17 +00:00
drivers pcmcia: fix compilation warnings and errors 2024-04-15 16:02:49 +00:00
game More build fixes. 2020-01-25 21:35:34 +01:00
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 Migrate the BMailComponent docs to the Haiku Book. 2017-12-25 19:43:51 -05:00
media Enable some more Werror and fix compiler warnings 2022-04-22 14:25:48 +00:00
midi Fix clang warning "mismatched-tags" 2020-03-23 01:30:23 +00:00
midi2 style cleanup 2006-09-21 13:04:59 +00:00
net BNetworkDevice: Remove GetNextNetwork. 2023-03-29 20:15:32 -04:00
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 Merge remote-tracking branch 'origin/master' into dev/netservices 2022-09-04 07:30:59 +01:00
translation Tracker: Add thumbnail support 2021-08-27 11:39:13 +00:00
AppKit.h added these master include files for better R5 compatibility when compiling 2002-10-23 13:48:14 +00:00
Be.h Patch by Jorma Karvonen: Add LocaleKit.h header and also add it to Be.h. Thanks! 2010-05-16 16:07:55 +00:00
BeBuild.h Versioning: Add BETA_5 and PRE_BETA_6 version constants. 2024-08-08 10:42:41 -04:00
DeviceKit.h added these master include files for better R5 compatibility when compiling 2002-10-23 13:48:14 +00:00
GameKit.h added these master include files for better R5 compatibility when compiling 2002-10-23 13:48:14 +00:00
InterfaceKit.h headers/os: Add missing Interface Kit includes 2024-01-28 20:36:07 +00:00
KernelKit.h added these master include files for better R5 compatibility when compiling 2002-10-23 13:48:14 +00:00
LocaleKit.h Remove even more Locale Kit cruft. 2017-07-30 14:46:41 -04:00
MailKit.h added these master include files for better R5 compatibility when compiling 2002-10-23 13:48:14 +00:00
MediaKit.h Make BMediaRecorder public 2017-01-10 21:34:20 +01:00
MidiKit.h added these master include files for better R5 compatibility when compiling 2002-10-23 13:48:14 +00:00
NetKit.h * Rewrote NetKit.h, and added the libnetapi headers. 2008-06-24 09:03:44 +00:00
NetworkKit.h headers/NetworkKit: Drop now-private service calls from NetworkKit.h 2022-05-13 16:01:15 +00:00
StorageKit.h StorageKit.h still included the Alias.h header file I removed with the previous commit. 2007-07-06 12:52:01 +00:00
SupportKit.h
TranslationKit.h added these master include files for better R5 compatibility when compiling 2002-10-23 13:48:14 +00:00