Update oneshot.md
This commit is contained in:
parent
e40fd90d5c
commit
20be6e9072
@ -35,12 +35,12 @@ KC.OS(
|
|||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## OneShot Modifier Combinations
|
## OneShot Modifier Combinations
|
||||||
|
|
||||||
The OneShot module by default cannot apply two OneShot modifiers to another key. To get around this you can use the [Combos](combos.md) module. Below is a minimal example that allows for multiple OneShot modifiers to apply to the next key pressed. In this example you can tap either of the OneShot keys then tap the other and finally tap `p` and that will send `ctrl+shift+p`.
|
The OneShot keys can be chained. In this example if you press `OS_LCTL` and then `OS_LSFT` followed by `KC.TAB`, the output will be `ctrl+shift+tab`.
|
||||||
|
|
||||||
```python
|
```python
|
||||||
from kmk.modules.combos import Chord, Combos
|
|
||||||
from kmk.modules.oneshot import OneShot
|
from kmk.modules.oneshot import OneShot
|
||||||
|
|
||||||
oneshot = OneShot()
|
oneshot = OneShot()
|
||||||
@ -48,58 +48,8 @@ keyboard.modules.append(oneshot)
|
|||||||
|
|
||||||
OS_LCTL = KC.OS(KC.LCTL, tap_time=None)
|
OS_LCTL = KC.OS(KC.LCTL, tap_time=None)
|
||||||
OS_LSFT = KC.OS(KC.LSFT, tap_time=None)
|
OS_LSFT = KC.OS(KC.LSFT, tap_time=None)
|
||||||
OS_LCTL_LSFT = KC.OS(KC.LCTL(OS_LSFT), tap_time=None)
|
|
||||||
|
|
||||||
combos = Combos()
|
keyboard.keymap = [[OS_LSFT, OS_LCTL, KC.TAB]]
|
||||||
keyboard.modules.append(combos)
|
|
||||||
|
|
||||||
combos.combos = [
|
|
||||||
Chord((OS_LCTL, OS_LSFT), OS_LCTL_LSFT, timeout=1000),
|
|
||||||
]
|
|
||||||
|
|
||||||
keyboard.keymap = [[OS_LSFT, OS_LCTL, KC.P]]
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Below is the complete list of OneShot and Chords you need to allow any combination of modifiers (left modifiers only).
|
|
||||||
|
|
||||||
> <details>
|
|
||||||
> <summary>Long code chunk (click to load)</summary>
|
|
||||||
>
|
|
||||||
> ```python
|
|
||||||
> OS_LCTL = KC.OS(KC.LCTL, tap_time=None)
|
|
||||||
> OS_LSFT = KC.OS(KC.LSFT, tap_time=None)
|
|
||||||
> OS_LGUI = KC.OS(KC.LGUI, tap_time=None)
|
|
||||||
> OS_LALT = KC.OS(KC.LALT, tap_time=None)
|
|
||||||
>
|
|
||||||
> OS_LCTL_LSFT = KC.OS(KC.LCTL(OS_LSFT), tap_time=None)
|
|
||||||
> OS_LCTL_LALT = KC.OS(KC.LCTL(OS_LALT), tap_time=None)
|
|
||||||
> OS_LCTL_LGUI = KC.OS(KC.LCTL(OS_LGUI), tap_time=None)
|
|
||||||
> OS_LSFT_LALT = KC.OS(KC.LSFT(OS_LALT), tap_time=None)
|
|
||||||
> OS_LSFT_LGUI = KC.OS(KC.LSFT(OS_LGUI), tap_time=None)
|
|
||||||
> OS_LALT_LGUI = KC.OS(KC.LALT(OS_LGUI), tap_time=None)
|
|
||||||
>
|
|
||||||
> OS_LCTL_LSFT_LGUI = KC.OS(KC.LCTL(KC.LSFT(OS_LGUI)), tap_time=None)
|
|
||||||
> OS_LCTL_LSFT_LALT = KC.OS(KC.LCTL(KC.LSFT(OS_LALT)), tap_time=None)
|
|
||||||
> OS_LCTL_LALT_LGUI = KC.OS(KC.LCTL(KC.LALT(OS_LGUI)), tap_time=None)
|
|
||||||
> OS_LSFT_LALT_LGUI = KC.OS(KC.LSFT(KC.LALT(OS_LGUI)), tap_time=None)
|
|
||||||
>
|
|
||||||
> OS_LCTL_LSFT_LALT_LGUI = KC.OS(KC.LCTL(KC.LSFT(KC.LALT(OS_LGUI))), tap_time=None)
|
|
||||||
>
|
|
||||||
> combos.combos = [
|
|
||||||
> Chord((OS_LCTL, OS_LSFT), OS_LCTL_LSFT, timeout=1000),
|
|
||||||
> Chord((OS_LCTL, OS_LALT), OS_LCTL_LALT, timeout=1000),
|
|
||||||
> Chord((OS_LCTL, OS_LGUI), OS_LCTL_LGUI, timeout=1000),
|
|
||||||
> Chord((OS_LSFT, OS_LALT), OS_LSFT_LALT, timeout=1000),
|
|
||||||
> Chord((OS_LSFT, OS_LGUI), OS_LSFT_LGUI, timeout=1000),
|
|
||||||
> Chord((OS_LALT, OS_LGUI), OS_LALT_LGUI, timeout=1000),
|
|
||||||
>
|
|
||||||
> Chord((OS_LCTL, OS_LSFT, OS_LGUI), OS_LCTL_LSFT_LGUI, timeout=1000),
|
|
||||||
> Chord((OS_LCTL, OS_LSFT, OS_LALT), OS_LCTL_LSFT_LALT, timeout=1000),
|
|
||||||
> Chord((OS_LCTL, OS_LALT, OS_LGUI), OS_LCTL_LALT_LGUI, timeout=1000),
|
|
||||||
> Chord((OS_LSFT, OS_LALT, OS_LGUI), OS_LSFT_LALT_LGUI, timeout=1000),
|
|
||||||
>
|
|
||||||
> Chord((OS_LCTL, OS_LSFT, OS_LALT, OS_LGUI), OS_LCTL_LSFT_LALT_LGUI, timeout=1000),
|
|
||||||
> ]
|
|
||||||
> ```
|
|
||||||
>
|
|
||||||
> </details>
|
> </details>
|
||||||
|
Loading…
Reference in New Issue
Block a user