Преглед на файлове

Add action 'Momentary switching with Modifiers'

tags/v1.9
tmk преди 9 години
родител
ревизия
821c719e98
променени са 3 файла, в които са добавени 19 реда и са изтрити 1 реда
  1. 10
    0
      common/action.c
  2. 2
    1
      common/action_code.h
  3. 7
    0
      doc/keymap.md

+ 10
- 0
common/action.c Целия файл

case ACT_LAYER_TAP: case ACT_LAYER_TAP:
case ACT_LAYER_TAP_EXT: case ACT_LAYER_TAP_EXT:
switch (action.layer_tap.code) { switch (action.layer_tap.code) {
case 0xe0 ... 0xef:
/* layer On/Off with modifiers(left only) */
if (event.pressed) {
layer_on(action.layer_tap.val);
register_mods(action.layer_tap.code & 0x0f);
} else {
layer_off(action.layer_tap.val);
unregister_mods(action.layer_tap.code & 0x0f);
}
break;
case OP_TAP_TOGGLE: case OP_TAP_TOGGLE:
/* tap toggle */ /* tap toggle */
if (event.pressed) { if (event.pressed) {

+ 2
- 1
common/action_code.h Целия файл

* *
* ACT_LAYER_TAP(101x): * ACT_LAYER_TAP(101x):
* 101E|LLLL| keycode On/Off with tap key * 101E|LLLL| keycode On/Off with tap key
* 101E|LLLL|1110 xxxx Reserved(0xE0-EF)
* 101E|LLLL|1110 mods On/Off with modifiers(0xE0-EF)
* 101E|LLLL|1111 0000 Invert with tap toggle(0xF0) * 101E|LLLL|1111 0000 Invert with tap toggle(0xF0)
* 101E|LLLL|1111 0001 On/Off * 101E|LLLL|1111 0001 On/Off
* 101E|LLLL|1111 0010 Off/On * 101E|LLLL|1111 0010 Off/On
#define ACTION_LAYER_ON_OFF(layer) ACTION_LAYER_TAP((layer), OP_ON_OFF) #define ACTION_LAYER_ON_OFF(layer) ACTION_LAYER_TAP((layer), OP_ON_OFF)
#define ACTION_LAYER_OFF_ON(layer) ACTION_LAYER_TAP((layer), OP_OFF_ON) #define ACTION_LAYER_OFF_ON(layer) ACTION_LAYER_TAP((layer), OP_OFF_ON)
#define ACTION_LAYER_SET_CLEAR(layer) ACTION_LAYER_TAP((layer), OP_SET_CLEAR) #define ACTION_LAYER_SET_CLEAR(layer) ACTION_LAYER_TAP((layer), OP_SET_CLEAR)
#define ACTION_LAYER_MODS(layer, mods) ACTION_LAYER_TAP((layer), 0xe0 | (mods)&0x0f)
/* With Tapping */ /* With Tapping */
#define ACTION_LAYER_TAP_KEY(layer, key) ACTION_LAYER_TAP((layer), (key)) #define ACTION_LAYER_TAP_KEY(layer, key) ACTION_LAYER_TAP((layer), (key))
#define ACTION_LAYER_TAP_TOGGLE(layer) ACTION_LAYER_TAP((layer), OP_TAP_TOGGLE) #define ACTION_LAYER_TAP_TOGGLE(layer) ACTION_LAYER_TAP((layer), OP_TAP_TOGGLE)

+ 7
- 0
doc/keymap.md Целия файл







### 3.5 Momentary switching with Modifiers
This registers modifier key(s) simultaneously with layer switching.

ACTION_LAYER_MODS(2, MOD_LSFT | MOD_LALT)



## 4. Tapping ## 4. Tapping
Tapping is to press and release a key quickly. Tapping speed is determined with setting of `TAPPING_TERM`, which can be defined in `config.h`, 200ms by default. Tapping is to press and release a key quickly. Tapping speed is determined with setting of `TAPPING_TERM`, which can be defined in `config.h`, 200ms by default.



Loading…
Отказ
Запис