|
@@ -67,24 +67,8 @@ After enabling this feature use keycodes `KC_LCAP`, `KC_LNUM` and `KC_LSCR` in y
|
|
|
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 `KC_CAPS`, `KC_NLCK` and `KC_SLCK`.***
|
|
|
|
|
|
## Input Special Characters Other Than ASCII like Cédille 'Ç'
|
|
|
-NO UNIVERSAL METHOD TO INPUT THOSE WORKS OVER ALL SYSTEMS. You have to define **MACRO** in way specific to your OS or layout.
|
|
|
|
|
|
-See this post for example **MACRO** code.
|
|
|
-
|
|
|
-http://deskthority.net/workshop-f7/tmk-keyboard-firmware-collection-t4478-120.html#p195620
|
|
|
-
|
|
|
-On **Windows** you can use `AltGr` key or **Alt code**.
|
|
|
-* http://en.wikipedia.org/wiki/AltGr_key
|
|
|
-* http://en.wikipedia.org/wiki/Alt_code
|
|
|
-
|
|
|
-On **Mac** OS defines `Option` key combinations.
|
|
|
-* http://en.wikipedia.org/wiki/Option_key#Alternative_keyboard_input
|
|
|
-
|
|
|
-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
|
|
|
+See the [Unicode](feature_unicode.md) feature.
|
|
|
|
|
|
## `Fn` Key on macOS
|
|
|
|
|
@@ -130,51 +114,6 @@ https://github.com/tekezo/Karabiner/issues/403
|
|
|
|
|
|
See the [Grave Escape](feature_grave_esc.md) feature.
|
|
|
|
|
|
-## Arrow on Right Modifier Keys with Dual-Role
|
|
|
-This turns right modifier keys into arrow keys when the keys are tapped while still modifiers when the keys are hold. In TMK the dual-role function is dubbed **TAP**.
|
|
|
-```
|
|
|
-
|
|
|
-#include "keymap_common.h"
|
|
|
-
|
|
|
-
|
|
|
-/* Arrow keys on right modifier keys with TMK dual role feature
|
|
|
- *
|
|
|
- * 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] = {
|
|
|
- /* 0: qwerty */
|
|
|
- [0] = LAYOUT( \
|
|
|
- ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, NUHS,BSPC, \
|
|
|
- TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, \
|
|
|
- LCTL,A, S, D, F, G, H, J, K, L, SCLN,QUOT,ENT, \
|
|
|
- LSFT,NUBS,Z, X, C, V, B, N, M, COMM,DOT, SLSH,FN0, ESC, \
|
|
|
- FN4, LGUI,LALT, SPC, APP, FN2, FN1, FN3),
|
|
|
- [1] = LAYOUT( \
|
|
|
- GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS,TRNS, \
|
|
|
- TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,\
|
|
|
- TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
|
|
|
- TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,FN5, TRNS, \
|
|
|
- TRNS,TRNS,TRNS, TRNS, TRNS,FN7, FN6, FN8),
|
|
|
-};
|
|
|
-
|
|
|
-const uint16_t PROGMEM fn_actions[] = {
|
|
|
- [0] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_UP),
|
|
|
- [1] = ACTION_MODS_TAP_KEY(MOD_RGUI, KC_DOWN),
|
|
|
- [2] = ACTION_MODS_TAP_KEY(MOD_RALT, KC_LEFT),
|
|
|
- [3] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_RIGHT),
|
|
|
- [4] = ACTION_LAYER_MOMENTARY(1),
|
|
|
- [5] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_PGUP),
|
|
|
- [6] = ACTION_MODS_TAP_KEY(MOD_RGUI, KC_PGDN),
|
|
|
- [7] = ACTION_MODS_TAP_KEY(MOD_RALT, KC_HOME),
|
|
|
- [8] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_END),
|
|
|
-};
|
|
|
-
|
|
|
-```
|
|
|
-
|
|
|
-Dual-role key: https://en.wikipedia.org/wiki/Modifier_key#Dual-role_keys
|
|
|
-
|
|
|
-
|
|
|
## Eject on Mac OSX
|
|
|
`KC_EJCT` keycode works on OSX. https://github.com/tmk/tmk_keyboard/issues/250
|
|
|
It seems Windows 10 ignores the code and Linux/Xorg recognizes but has no mapping by default.
|