X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=FAQ-Keymap.md;h=60f69d9a166f5e997c8886b1cb0ebe297eb78acc;hb=7328ba0f3b3f6f65ae4b1d918cdb834fb54d83be;hp=62054138bd2bee99e54c83622c9dd96df9c0bf51;hpb=59c8a733e6332100fde6ac26005ae0d5a1d463a9;p=qmk_firmware.git diff --git a/FAQ-Keymap.md b/FAQ-Keymap.md index 62054138b..60f69d9a1 100644 --- a/FAQ-Keymap.md +++ b/FAQ-Keymap.md @@ -1,6 +1,16 @@ -# Keymap +## READ FIRST +https://github.com/tmk/tmk_keyboard/blob/master/doc/keymap.md + +## How to get keycode +See [doc/keycode.txt](https://github.com/tmk/tmk_keyboard/blob/master/doc/keycode.txt). +Keycodes are actually defined in [common/keycode.h](https://github.com/tmk/tmk_keyboard/blob/master/common/keycode.h). + ## Sysrq key -see #168 +Use keycode for Print Screen(`KC_PSCREEN` or `KC_PSCR`) instead of `KC_SYSREQ`. Key combination of 'Alt + Print Screen' is recognized as 'System request'. + +See [issue #168](https://github.com/tmk/tmk_keyboard/issues/168) and +- http://en.wikipedia.org/wiki/Magic_SysRq_key +- http://en.wikipedia.org/wiki/System_request ## Power key doesn't work Use `KC_PWR` instead of `KC_POWER` or vice versa. @@ -17,8 +27,9 @@ https://github.com/tmk/tmk_keyboard/issues/67 Modifier keys or layers can be stuck unless layer switching is configured properly. For Modifier keys and layer actions you have to place `KC_TRANS` on same position of destination layer to unregister the modifier key or return to previous layer on release event. -https://github.com/tmk/tmk_keyboard/blob/master/doc/keymap.md#31-momentary-switching -http://geekhack.org/index.php?topic=57008.msg1492604#msg1492604 +- https://github.com/tmk/tmk_keyboard/blob/master/doc/keymap.md#31-momentary-switching +- http://geekhack.org/index.php?topic=57008.msg1492604#msg1492604 +- https://github.com/tmk/tmk_keyboard/issues/248 ## Mechanical Lock Switch Support @@ -50,4 +61,63 @@ On **Xorg** you can use `compose` key, instead. - http://en.wikipedia.org/wiki/Compose_key And see this for **Unicode** input. -- http://en.wikipedia.org/wiki/Unicode_input \ No newline at end of file +- http://en.wikipedia.org/wiki/Unicode_input + + +### Apple keyboard Fn +Not supported. + +Apple keyboard sends keycode for Fn unlike most of other keyboards. +I think you can send Apple Fn key using Apple venter specific Page 0xff00 and usage 0x0003. But you have to change HID Report Descriptor for this, of course. + +https://opensource.apple.com/source/IOHIDFamily/IOHIDFamily-606.1.7/IOHIDFamily/AppleHIDUsageTables.h + + +## Media control keys in Mac OSX +#### KC_MNXT and KC_MPRV does not work on Mac +Use `KC_MFFD`(`KC_MEDIA_FAST_FORWARD`) and `KC_MRWD`(`KC_MEDIA_REWIND`) instead of `KC_MNXT` and `KC_MPRV`. +See https://github.com/tmk/tmk_keyboard/issues/195 + + +## Keys supported in Mac OSX? +You can know which keycodes are supported in OSX from this source code. + +`usb_2_adb_keymap` array maps Keyboard/Keypad Page usages to ADB scancodes(OSX internal keycodes). + +https://opensource.apple.com/source/IOHIDFamily/IOHIDFamily-606.1.7/IOHIDFamily/Cosmo_USB2ADB.c + +And `IOHIDConsumer::dispatchConsumerEvent` handles Consumer page usages. + +https://opensource.apple.com/source/IOHIDFamily/IOHIDFamily-606.1.7/IOHIDFamily/IOHIDConsumer.cpp + + +## JIS keys in Mac OSX +Japanese JIS keyboard specific keys like `無変換(Muhenkan)`, `変換(Henkan)`, `ひらがな(hiragana)` are not recognized on OSX. You can use **Seil** to enable those keys, try following options. + +* Enable NFER Key on PC keyboard +* Enable XFER Key on PC keyboard +* Enable KATAKANA Key on PC keyboard + +https://pqrs.org/osx/karabiner/seil.html + + +## RN-42 Bluetooth doesn't work with Karabiner +Karabiner - Keymapping tool on Mac OSX - ignores inputs from RN-42 module by default. You have to enable this option to make Karabiner working with your keyboard. +https://github.com/tekezo/Karabiner/issues/403#issuecomment-102559237 + +See these for the deail of this problem. +https://github.com/tmk/tmk_keyboard/issues/213 +https://github.com/tekezo/Karabiner/issues/403 + + +## Esc and `~ on a key +https://github.com/p3lim/keyboard_firmware/commit/fd799c12b69a5ab5addd1d4c03380a1b8ef8e9dc + + +## 32 Fn keys are not enough? +### actionmap +It uses 16 bit codes and has no limitation of 32 Fn at the expense of memory space. TMK keymap is actually is 8 bit codes as subset of the actionmap. +https://github.com/tmk/tmk_keyboard/issues?utf8=%E2%9C%93&q=is%3Aissue+actionmap + +### extension for modified keys +https://geekhack.org/index.php?topic=41989.msg1885526#msg1885526 \ No newline at end of file