]> git.donarmstrong.com Git - qmk_firmware.git/blob - FAQ-Keymap.md
Updated FAQ Keymap (markdown)
[qmk_firmware.git] / FAQ-Keymap.md
1 # Keymap
2 ## READ FIRST
3 https://github.com/tmk/tmk_keyboard/blob/master/doc/keymap.md
4
5 ## How to get keycode
6 See [doc/keycode.txt](https://github.com/tmk/tmk_keyboard/blob/master/doc/keycode.txt).
7 Keycodes are actually defined in [common/keycode.h](https://github.com/tmk/tmk_keyboard/blob/master/common/keycode.h).
8
9 ## Sysrq key
10 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'.
11
12 See [issue #168](https://github.com/tmk/tmk_keyboard/issues/168) and
13 - http://en.wikipedia.org/wiki/Magic_SysRq_key
14 - http://en.wikipedia.org/wiki/System_request
15
16 ## Power key doesn't work
17 Use `KC_PWR` instead of `KC_POWER` or vice versa.
18 - `KC_PWR` works with Windows and Linux, not with OSX.
19 - `KC_POWER` works with OSX and Linux, not with Windows.
20
21 http://geekhack.org/index.php?topic=14290.msg1327264#msg1327264
22
23 ## Oneshot modifier
24 Solves my personal 'the' problem. I often got 'the' or 'THe' wrongly instead of 'The'.  Oneshot Shift mitgates this for me.
25 https://github.com/tmk/tmk_keyboard/issues/67
26
27 ## Modifier/Layer stuck
28 Modifier keys or layers can be stuck unless layer switching is configured properly.
29 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.
30
31 https://github.com/tmk/tmk_keyboard/blob/master/doc/keymap.md#31-momentary-switching
32 http://geekhack.org/index.php?topic=57008.msg1492604#msg1492604
33
34
35 ## Mechanical Lock Switch Support
36 https://github.com/tmk/tmk_keyboard#mechanical-locking-support
37
38 This feature is for *mechanical lock switch* like this Alps one.
39 http://deskthority.net/wiki/Alps_SKCL_Lock
40
41 Using enabling this feature and using keycodes `LCAP`, `LNUM` or `LSCR` in keymap you can use physical locking CapsLock, NumLock or ScrollLock keys as you expected.
42
43 Old vintage mechanical keyboards occasionally have lock switches but modern ones don't have. ***You don't need this feature in most case and just use keycodes `CAPS`, `NLCK` and `SLCK`.***
44
45
46 ## Input special charactors other than ASCII like Cédille 'Ç'
47 NO UNIVERSAL METHOD TO INPUT THOSE WORKS OVER ALL SYSTEMS. You have to define **MACRO** in way specific to your OS or layout.
48
49 See this post for example **MACRO** code.
50
51 http://deskthority.net/workshop-f7/tmk-keyboard-firmware-collection-t4478-120.html#p195620
52
53 On **Windows** you can use `AltGr` key or **Alt code**.
54 - http://en.wikipedia.org/wiki/AltGr_key
55 - http://en.wikipedia.org/wiki/Alt_code
56
57 On **Mac** OS defines `Option` key combinations.
58 - http://en.wikipedia.org/wiki/Option_key#Alternative_keyboard_input
59
60 On **Xorg** you can use `compose` key, instead.
61 - http://en.wikipedia.org/wiki/Compose_key
62
63 And see this for **Unicode** input.
64 - http://en.wikipedia.org/wiki/Unicode_input