X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=FAQ-Keymap.md;h=7c73f571fe177e830a279456b918b0577f6741d1;hb=36f8936b0381dbc8a17bbb40fb6613fa08c5b26d;hp=e6f01f53c0a7bcaf58f7721a546a7cdfb218be20;hpb=4e9170156ee83217a1379b2cae051de268831f38;p=qmk_firmware.git diff --git a/FAQ-Keymap.md b/FAQ-Keymap.md index e6f01f53c..7c73f571f 100644 --- a/FAQ-Keymap.md +++ b/FAQ-Keymap.md @@ -1,9 +1,8 @@ ## READ FIRST -https://github.com/tmk/tmk_keyboard/blob/master/doc/keymap.md +https://github.com/tmk/tmk_core/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/tmk_core/common/keycode.h). +See [Keycodes](Keycodes). Keycodes are actually defined in [common/keycode.h](https://github.com/qmk/qmk_firmware/blob/master/tmk_core/common/keycode.h). ## Sysrq key 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'. @@ -27,7 +26,7 @@ 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 +- https://github.com/tmk/tmk_core/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 @@ -64,10 +63,10 @@ And see this for **Unicode** input. - http://en.wikipedia.org/wiki/Unicode_input -### Apple keyboard Fn +## Apple/Mac keyboard Fn Not supported. -Apple keyboard sends keycode for Fn unlike most of other keyboards. +Apple/Mac keyboard sends keycode for Fn unlike most of other keyboards. I think you can send Apple Fn key using Apple venter specific Page 0xff01 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 @@ -114,7 +113,7 @@ https://github.com/tekezo/Karabiner/issues/403 You can define FC660 and Poker style ESC with `ACTION_LAYER_MODS`. -https://github.com/tmk/tmk_keyboard/blob/master/doc/keymap.md#35-momentary-switching-with-modifiers +https://github.com/tmk/tmk_core/blob/master/doc/keymap.md#35-momentary-switching-with-modifiers ``` #include "keymap_common.h" @@ -153,7 +152,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; const uint16_t PROGMEM fn_actions[] = { - // https://github.com/tmk/tmk_keyboard/blob/master/doc/keymap.md#35-momentary-switching-with-modifiers + // https://github.com/tmk/tmk_core/blob/master/doc/keymap.md#35-momentary-switching-with-modifiers [0] = ACTION_LAYER_MODS(1, MOD_LSFT), [1] = ACTION_LAYER_MOMENTARY(2), }; @@ -180,7 +179,7 @@ This turns right modifer keys into arrow keys when the keys are tapped while sti /* Arrow keys on right modifier keys with TMK dual role feature * - * https://github.com/tmk/tmk_keyboard/blob/master/doc/keymap.md#213-modifier-with-tap-keydual-role + * https://github.com/tmk/tmk_core/blob/master/doc/keymap.md#213-modifier-with-tap-keydual-role * https://en.wikipedia.org/wiki/Modifier_key#Dual-role_keys */ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -234,16 +233,16 @@ weak_mods retains state of virtual or temprary modifiers which should not affect Let's say you hold down physical left shift key and type ACTION_MODS_KEY(LSHIFT, KC_A), with weak_mods, -(1) hold down left shift: real_mods |= MOD_BIT(LSHIFT) -(2) press ACTION_MODS_KEY(LSHIFT, KC_A): weak_mods |= MOD_BIT(LSHIFT) -(3) release ACTION_MODS_KEY(LSHIFT, KC_A): waek_mods &= ~MOD_BIT(LSHIFT) +* (1) hold down left shift: real_mods |= MOD_BIT(LSHIFT) +* (2) press ACTION_MODS_KEY(LSHIFT, KC_A): weak_mods |= MOD_BIT(LSHIFT) +* (3) release ACTION_MODS_KEY(LSHIFT, KC_A): waek_mods &= ~MOD_BIT(LSHIFT) real_mods still keeps modifier state. without weak mods, -(1) hold down left shift: real_mods |= MOD_BIT(LSHIFT) -(2) press ACTION_MODS_KEY(LSHIFT, KC_A): real_mods |= MOD_BIT(LSHIFT) -(3) release ACTION_MODS_KEY(LSHIFT, KC_A): real_mods &= ~MOD_BIT(LSHIFT) +* (1) hold down left shift: real_mods |= MOD_BIT(LSHIFT) +* (2) press ACTION_MODS_KEY(LSHIFT, KC_A): real_mods |= MOD_BIT(LSHIFT) +* (3) release ACTION_MODS_KEY(LSHIFT, KC_A): real_mods &= ~MOD_BIT(LSHIFT) here real_mods lost state for 'physical left shift'. weak_mods is ORed with real_mods when keyboard report is sent. -https://github.com/tmk/tmk_keyboard/blob/master/tmk_core/common/action_util.c#L57 +https://github.com/tmk/tmk_core/blob/master/common/action_util.c#L57 \ No newline at end of file