update modtap to holdtap
This commit is contained in:
parent
88c3616b6a
commit
a9de14ba6b
@ -13,14 +13,14 @@ from kmk.handlers.sequences import send_string
|
|||||||
from kmk.hid import HIDModes
|
from kmk.hid import HIDModes
|
||||||
from kmk.keys import KC
|
from kmk.keys import KC
|
||||||
from kmk.modules.layers import Layers
|
from kmk.modules.layers import Layers
|
||||||
from kmk.modules.modtap import ModTap
|
from kmk.modules.holdtap import HoldTap
|
||||||
from kmk.modules.split import Split, SplitSide, SplitType
|
from kmk.modules.split import Split, SplitSide, SplitType
|
||||||
|
|
||||||
keyboard = KMKKeyboard()
|
keyboard = KMKKeyboard()
|
||||||
modtap = ModTap()
|
holdtap = HoldTap()
|
||||||
layers_ext = Layers()
|
layers_ext = Layers()
|
||||||
keyboard.modules.append(layers_ext)
|
keyboard.modules.append(layers_ext)
|
||||||
keyboard.modules.append(modtap)
|
keyboard.modules.append(holdtap)
|
||||||
|
|
||||||
oled_ext = Oled(
|
oled_ext = Oled(
|
||||||
OledData(
|
OledData(
|
||||||
|
@ -12,7 +12,7 @@ Retailers (USA)
|
|||||||
Extensions enabled by default
|
Extensions enabled by default
|
||||||
- [Layers](/docs/en/layers.md) Need more keys than switches? Use layers.
|
- [Layers](/docs/en/layers.md) Need more keys than switches? Use layers.
|
||||||
- [BLE_Split](/docs/en/split_keyboards.md) Connects halves without wires
|
- [BLE_Split](/docs/en/split_keyboards.md) Connects halves without wires
|
||||||
- [ModTap](/docs/en/modtap.md) Allows mod keys to act as different keys when tapped.
|
- [HoldTap](/docs/en/holdtap.md) Allows mod keys to act as different keys when tapped.
|
||||||
|
|
||||||
Common Extensions
|
Common Extensions
|
||||||
- [Split](/docs/en/split_keyboards.md) Connects halves using a wire
|
- [Split](/docs/en/split_keyboards.md) Connects halves using a wire
|
||||||
|
@ -4,15 +4,15 @@ from kb import KMKKeyboard
|
|||||||
|
|
||||||
from kmk.keys import KC
|
from kmk.keys import KC
|
||||||
from kmk.modules.layers import Layers
|
from kmk.modules.layers import Layers
|
||||||
from kmk.modules.modtap import ModTap
|
from kmk.modules.holdtap import HoldTap
|
||||||
from kmk.scanners import DiodeOrientation
|
from kmk.scanners import DiodeOrientation
|
||||||
|
|
||||||
keyboard = KMKKeyboard()
|
keyboard = KMKKeyboard()
|
||||||
|
|
||||||
keyboard.modules.append(Layers())
|
keyboard.modules.append(Layers())
|
||||||
|
|
||||||
modtap = ModTap()
|
holdtap = HoldTap()
|
||||||
keyboard.modules.append(modtap)
|
keyboard.modules.append(holdtap)
|
||||||
|
|
||||||
|
|
||||||
NONE = KC.NO
|
NONE = KC.NO
|
||||||
@ -25,9 +25,9 @@ CAD = KC.LCTL(KC.LALT(KC.DEL))
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
ZSFT = KC.MT(KC.Z, KC.LSFT, prefer_hold=True, tap_interrupted=False, tap_time=3000)
|
ZSFT = KC.HT(KC.Z, KC.LSFT, prefer_hold=True, tap_interrupted=False, tap_time=3000)
|
||||||
SLSHSFT = KC.MT(KC.SLSH, KC.LSFT, prefer_hold=True, tap_interrupted=False, tap_time=3000)
|
SLSHSFT = KC.HT(KC.SLSH, KC.LSFT, prefer_hold=True, tap_interrupted=False, tap_time=3000)
|
||||||
ALCTL = KC.MT(KC.A, KC.LCTRL, prefer_hold=False, tap_interrupted=False, tap_time=150)
|
ALCTL = KC.HT(KC.A, KC.LCTRL, prefer_hold=False, tap_interrupted=False, tap_time=150)
|
||||||
|
|
||||||
# flake8: noqa: E261
|
# flake8: noqa: E261
|
||||||
keyboard.keymap = [
|
keyboard.keymap = [
|
||||||
|
@ -7,7 +7,7 @@ from kb import KMKKeyboard
|
|||||||
|
|
||||||
from kmk.keys import KC
|
from kmk.keys import KC
|
||||||
from kmk.modules.layers import Layers
|
from kmk.modules.layers import Layers
|
||||||
from kmk.modules.modtap import ModTap
|
from kmk.modules.holdtap import HoldTap
|
||||||
from kmk.modules.mouse_keys import MouseKeys
|
from kmk.modules.mouse_keys import MouseKeys
|
||||||
from kmk.modules.split import Split, SplitSide
|
from kmk.modules.split import Split, SplitSide
|
||||||
|
|
||||||
@ -27,7 +27,7 @@ split = Split(
|
|||||||
)
|
)
|
||||||
|
|
||||||
layers_ext = Layers()
|
layers_ext = Layers()
|
||||||
mod_tap = ModTap()
|
mod_tap = HoldTap()
|
||||||
mouse_key = MouseKeys()
|
mouse_key = MouseKeys()
|
||||||
|
|
||||||
|
|
||||||
@ -39,12 +39,12 @@ XXXXXXX = KC.NO
|
|||||||
|
|
||||||
|
|
||||||
# Mod-taps
|
# Mod-taps
|
||||||
A_SFT = KC.MT(KC.A, KC.LSFT)
|
A_SFT = KC.HT(KC.A, KC.LSFT)
|
||||||
SCLN_SFT = KC.MT(KC.SCLN, KC.LSFT)
|
SCLN_SFT = KC.HT(KC.SCLN, KC.LSFT)
|
||||||
X_CTL = KC.MT(KC.X, KC.LCTRL)
|
X_CTL = KC.HT(KC.X, KC.LCTRL)
|
||||||
C_ALT = KC.MT(KC.C, KC.LALT)
|
C_ALT = KC.HT(KC.C, KC.LALT)
|
||||||
COM_ALT = KC.MT(KC.COMM, KC.LALT)
|
COM_ALT = KC.HT(KC.COMM, KC.LALT)
|
||||||
DOT_CTL = KC.MT(KC.DOT, KC.LCTRL)
|
DOT_CTL = KC.HT(KC.DOT, KC.LCTRL)
|
||||||
CTL_ALT = KC.LCTRL(KC.LALT)
|
CTL_ALT = KC.LCTRL(KC.LALT)
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ from kmk.extensions.rgb import RGB
|
|||||||
from kmk.keys import KC
|
from kmk.keys import KC
|
||||||
from kmk.modules.encoder import EncoderHandler
|
from kmk.modules.encoder import EncoderHandler
|
||||||
from kmk.modules.layers import Layers
|
from kmk.modules.layers import Layers
|
||||||
from kmk.modules.modtap import ModTap
|
from kmk.modules.holdtap import HoldTap
|
||||||
from kmk.modules.mouse_keys import MouseKeys
|
from kmk.modules.mouse_keys import MouseKeys
|
||||||
|
|
||||||
keyboard = KMKKeyboard()
|
keyboard = KMKKeyboard()
|
||||||
@ -21,13 +21,13 @@ XXXXXXX = KC.NO
|
|||||||
# Adding extensions
|
# Adding extensions
|
||||||
rgb = RGB(pixel_pin=keyboard.rgb_pixel_pin, num_pixels=keyboard.rgb_num_pixels, val_limit=50, hue_default=190, sat_default=100, val_default=5)
|
rgb = RGB(pixel_pin=keyboard.rgb_pixel_pin, num_pixels=keyboard.rgb_num_pixels, val_limit=50, hue_default=190, sat_default=100, val_default=5)
|
||||||
|
|
||||||
modtap = ModTap()
|
holdtap = HoldTap()
|
||||||
layers = Layers()
|
layers = Layers()
|
||||||
media_keys = MediaKeys()
|
media_keys = MediaKeys()
|
||||||
|
|
||||||
encoder_handler = EncoderHandler()
|
encoder_handler = EncoderHandler()
|
||||||
|
|
||||||
keyboard.modules = [layers, modtap] #, encoder_handler]
|
keyboard.modules = [layers, holdtap] #, encoder_handler]
|
||||||
keyboard.modules.append(MouseKeys())
|
keyboard.modules.append(MouseKeys())
|
||||||
keyboard.extensions = [rgb, media_keys]
|
keyboard.extensions = [rgb, media_keys]
|
||||||
|
|
||||||
@ -46,14 +46,14 @@ MEDIA_BSPC = KC.LT(LYR_MEDIA, KC.BSPC)
|
|||||||
MOUSE_M = KC.LT(LYR_MOUSE, KC.M)
|
MOUSE_M = KC.LT(LYR_MOUSE, KC.M)
|
||||||
|
|
||||||
# HOMEROW MODS
|
# HOMEROW MODS
|
||||||
LCTL_A = KC.MT(KC.A, KC.LCTRL)
|
LCTL_A = KC.HT(KC.A, KC.LCTRL)
|
||||||
LGUI_R = KC.MT(KC.R, KC.LGUI)
|
LGUI_R = KC.HT(KC.R, KC.LGUI)
|
||||||
LALT_S = KC.MT(KC.S, KC.LALT)
|
LALT_S = KC.HT(KC.S, KC.LALT)
|
||||||
LSFT_T = KC.MT(KC.T, KC.LSFT)
|
LSFT_T = KC.HT(KC.T, KC.LSFT)
|
||||||
RSFT_N = KC.MT(KC.N, KC.RSFT)
|
RSFT_N = KC.HT(KC.N, KC.RSFT)
|
||||||
RALT_E = KC.MT(KC.E, KC.RALT)
|
RALT_E = KC.HT(KC.E, KC.RALT)
|
||||||
RGUI_I = KC.MT(KC.I, KC.RGUI)
|
RGUI_I = KC.HT(KC.I, KC.RGUI)
|
||||||
RCTL_O = KC.MT(KC.O, KC.RCTRL)
|
RCTL_O = KC.HT(KC.O, KC.RCTRL)
|
||||||
|
|
||||||
# OTHER SHORTCUTS
|
# OTHER SHORTCUTS
|
||||||
BRWSR_LFT = KC.LCTRL(KC.LSFT(KC.TAB))
|
BRWSR_LFT = KC.LCTRL(KC.LSFT(KC.TAB))
|
||||||
|
@ -8,7 +8,7 @@ Hardware Availability: [Gherkin project on 40% Keyboards](http://www.40percent.c
|
|||||||
|
|
||||||
Extensions enabled by default
|
Extensions enabled by default
|
||||||
- [Layers](/docs/en/layers.md) Need more keys than switches? Use layers.
|
- [Layers](/docs/en/layers.md) Need more keys than switches? Use layers.
|
||||||
- [ModTap](/docs/en/modtap.md) Allows mod keys to act as different keys when tapped.
|
- [HoldTap](/docs/en/holdtap.md) Allows mod keys to act as different keys when tapped.
|
||||||
- [LED](/docs/en/led.md) Light your keys up
|
- [LED](/docs/en/led.md) Light your keys up
|
||||||
|
|
||||||
Common Extensions
|
Common Extensions
|
||||||
|
@ -3,16 +3,16 @@ from kb import KMKKeyboard
|
|||||||
from kmk.extensions.led import LED
|
from kmk.extensions.led import LED
|
||||||
from kmk.keys import KC
|
from kmk.keys import KC
|
||||||
from kmk.modules.layers import Layers
|
from kmk.modules.layers import Layers
|
||||||
from kmk.modules.modtap import ModTap
|
from kmk.modules.holdtap import HoldTap
|
||||||
|
|
||||||
keyboard = KMKKeyboard()
|
keyboard = KMKKeyboard()
|
||||||
|
|
||||||
|
|
||||||
modtap = ModTap()
|
holdtap = HoldTap()
|
||||||
layers_ext = Layers()
|
layers_ext = Layers()
|
||||||
led = LED()
|
led = LED()
|
||||||
keyboard.extensions = [led]
|
keyboard.extensions = [led]
|
||||||
keyboard.modules = [layers_ext, modtap]
|
keyboard.modules = [layers_ext, holdtap]
|
||||||
|
|
||||||
# Cleaner key names
|
# Cleaner key names
|
||||||
_______ = KC.TRNS
|
_______ = KC.TRNS
|
||||||
|
@ -31,7 +31,7 @@ It has the following modules/extensions enabled:
|
|||||||
- [Split](/docs/en/split_keyboards.md) Connects halves using a wire
|
- [Split](/docs/en/split_keyboards.md) Connects halves using a wire
|
||||||
- [Layers](/docs/en/layers.md) Do you need more keys than switches? Use
|
- [Layers](/docs/en/layers.md) Do you need more keys than switches? Use
|
||||||
layers.
|
layers.
|
||||||
- [ModTap](/docs/en/modtap.md) Enable press/hold double binding of keys
|
- [HoldTap](/docs/en/holdtap.md) Enable press/hold double binding of keys
|
||||||
- [MediaKeys](/docs/en/media_keys.md) Common media controls
|
- [MediaKeys](/docs/en/media_keys.md) Common media controls
|
||||||
|
|
||||||
Also uncomment right section to enable samples of following:
|
Also uncomment right section to enable samples of following:
|
||||||
|
@ -5,14 +5,14 @@ from kmk.extensions.rgb import RGB, AnimationModes
|
|||||||
from kmk.keys import KC
|
from kmk.keys import KC
|
||||||
from kmk.modules.encoder import EncoderHandler
|
from kmk.modules.encoder import EncoderHandler
|
||||||
from kmk.modules.layers import Layers
|
from kmk.modules.layers import Layers
|
||||||
from kmk.modules.modtap import ModTap
|
from kmk.modules.holdtap import HoldTap
|
||||||
from kmk.modules.split import Split, SplitType
|
from kmk.modules.split import Split, SplitType
|
||||||
|
|
||||||
keyboard = KMKKeyboard()
|
keyboard = KMKKeyboard()
|
||||||
keyboard.debug_enabled = True
|
keyboard.debug_enabled = True
|
||||||
|
|
||||||
keyboard.modules.append(Layers())
|
keyboard.modules.append(Layers())
|
||||||
keyboard.modules.append(ModTap())
|
keyboard.modules.append(HoldTap())
|
||||||
keyboard.extensions.append(MediaKeys())
|
keyboard.extensions.append(MediaKeys())
|
||||||
|
|
||||||
# Using drive names (KYRIAL, KYRIAR) to recognize sides; use split_side arg if you're not doing it
|
# Using drive names (KYRIAL, KYRIAR) to recognize sides; use split_side arg if you're not doing it
|
||||||
@ -33,10 +33,10 @@ keyboard.extensions.append(rgb_ext)
|
|||||||
|
|
||||||
# Edit your layout below
|
# Edit your layout below
|
||||||
# Currently, that's a default QMK Kyria Layout - https://config.qmk.fm/#/splitkb/kyria/rev1/LAYOUT
|
# Currently, that's a default QMK Kyria Layout - https://config.qmk.fm/#/splitkb/kyria/rev1/LAYOUT
|
||||||
ESC_LCTL = KC.MT(KC.ESC, KC.LCTL)
|
ESC_LCTL = KC.HT(KC.ESC, KC.LCTL)
|
||||||
QUOTE_RCTL = KC.MT(KC.QUOTE, KC.RCTL)
|
QUOTE_RCTL = KC.HT(KC.QUOTE, KC.RCTL)
|
||||||
ENT_LALT = KC.MT(KC.ENT, KC.LALT)
|
ENT_LALT = KC.HT(KC.ENT, KC.LALT)
|
||||||
MINUS_RCTL = KC.MT(KC.MINUS, KC.RCTL)
|
MINUS_RCTL = KC.HT(KC.MINUS, KC.RCTL)
|
||||||
keyboard.keymap = [
|
keyboard.keymap = [
|
||||||
[
|
[
|
||||||
KC.TAB, KC.Q, KC.W, KC.E, KC.R, KC.T, KC.Y, KC.U, KC.I, KC.O, KC.P, KC.BSPC,
|
KC.TAB, KC.Q, KC.W, KC.E, KC.R, KC.T, KC.Y, KC.U, KC.I, KC.O, KC.P, KC.BSPC,
|
||||||
|
@ -9,7 +9,7 @@ from kmk.extensions.media_keys import MediaKeys
|
|||||||
from kmk.extensions.RGB import RGB, AnimationModes
|
from kmk.extensions.RGB import RGB, AnimationModes
|
||||||
from kmk.keys import KC
|
from kmk.keys import KC
|
||||||
from kmk.modules.layers import Layers
|
from kmk.modules.layers import Layers
|
||||||
from kmk.modules.modtap import ModTap
|
from kmk.modules.holdtap import HoldTap
|
||||||
from kmk.modules.split import Split, SplitSide, SplitType
|
from kmk.modules.split import Split, SplitSide, SplitType
|
||||||
|
|
||||||
led = digitalio.DigitalInOut(board.GP25)
|
led = digitalio.DigitalInOut(board.GP25)
|
||||||
@ -20,7 +20,7 @@ keyboard = KMKKeyboard()
|
|||||||
keyboard.tap_time = 100
|
keyboard.tap_time = 100
|
||||||
|
|
||||||
layers_ext = Layers()
|
layers_ext = Layers()
|
||||||
modtap_ext = ModTap()
|
holdtap_ext = HoldTap()
|
||||||
|
|
||||||
# TODO Comment one of these on each side
|
# TODO Comment one of these on each side
|
||||||
split_side = SplitSide.LEFT
|
split_side = SplitSide.LEFT
|
||||||
@ -43,7 +43,7 @@ rgb_ext = RGB(
|
|||||||
animation_mode=AnimationModes.BREATHING_RAINBOW
|
animation_mode=AnimationModes.BREATHING_RAINBOW
|
||||||
)
|
)
|
||||||
|
|
||||||
keyboard.modules = [layers_ext, modtap_ext, split]
|
keyboard.modules = [layers_ext, holdtap_ext, split]
|
||||||
keyboard.extensions.append(MediaKeys())
|
keyboard.extensions.append(MediaKeys())
|
||||||
keyboard.extensions.append(rgb_ext)
|
keyboard.extensions.append(rgb_ext)
|
||||||
|
|
||||||
@ -61,9 +61,9 @@ if split_side == SplitSide.LEFT:
|
|||||||
LOWER = KC.MO(1)
|
LOWER = KC.MO(1)
|
||||||
RAISE = KC.MO(2)
|
RAISE = KC.MO(2)
|
||||||
ADJUST = KC.MO(3)
|
ADJUST = KC.MO(3)
|
||||||
CT_TAB = KC.MT(KC.TAB, KC.LCTRL)
|
CT_TAB = KC.HT(KC.TAB, KC.LCTRL)
|
||||||
CT_QUOT = KC.MT(KC.QUOT, KC.LCTRL)
|
CT_QUOT = KC.HT(KC.QUOT, KC.LCTRL)
|
||||||
SF_MINS = KC.MT(KC.MINS, KC.LSHIFT)
|
SF_MINS = KC.HT(KC.MINS, KC.LSHIFT)
|
||||||
SG_PSCR = KC.LSFT(KC.LGUI(KC.PSCR))
|
SG_PSCR = KC.LSFT(KC.LGUI(KC.PSCR))
|
||||||
SF_PSCR = KC.LSFT(KC.PSCR)
|
SF_PSCR = KC.LSFT(KC.PSCR)
|
||||||
CG_RGHT = KC.LCTRL(KC.LGUI(KC.RGHT))
|
CG_RGHT = KC.LCTRL(KC.LGUI(KC.RGHT))
|
||||||
|
@ -17,7 +17,7 @@ Retailers (USA)
|
|||||||
Extensions enabled by default
|
Extensions enabled by default
|
||||||
- [Layers](/docs/en/layers.md) Need more keys than switches? Use layers.
|
- [Layers](/docs/en/layers.md) Need more keys than switches? Use layers.
|
||||||
- [RGB](/docs/en/rgb.md) Light it up
|
- [RGB](/docs/en/rgb.md) Light it up
|
||||||
- [ModTap](/docs/en/modtap.md) Allows mod keys to act as different keys when tapped.
|
- [HoldTap](/docs/en/holdtap.md) Allows mod keys to act as different keys when tapped.
|
||||||
|
|
||||||
Common Extensions
|
Common Extensions
|
||||||
- [Power](/docs/en/power.md) Powersaving features for battery life
|
- [Power](/docs/en/power.md) Powersaving features for battery life
|
||||||
|
@ -3,17 +3,17 @@ from kb import KMKKeyboard
|
|||||||
from kmk.extensions.rgb import RGB
|
from kmk.extensions.rgb import RGB
|
||||||
from kmk.keys import KC
|
from kmk.keys import KC
|
||||||
from kmk.modules.layers import Layers
|
from kmk.modules.layers import Layers
|
||||||
from kmk.modules.modtap import ModTap
|
from kmk.modules.holdtap import HoldTap
|
||||||
|
|
||||||
keyboard = KMKKeyboard()
|
keyboard = KMKKeyboard()
|
||||||
|
|
||||||
# Adding extensions
|
# Adding extensions
|
||||||
rgb = RGB(pixel_pin=keyboard.rgb_pixel_pin, num_pixels=keyboard.rgb_num_pixels, val_limit=100, hue_default=190, sat_default=100, val_default=5)
|
rgb = RGB(pixel_pin=keyboard.rgb_pixel_pin, num_pixels=keyboard.rgb_num_pixels, val_limit=100, hue_default=190, sat_default=100, val_default=5)
|
||||||
|
|
||||||
modtap = ModTap()
|
holdtap = HoldTap()
|
||||||
layers_ext = Layers()
|
layers_ext = Layers()
|
||||||
|
|
||||||
keyboard.modules = [layers_ext, modtap]
|
keyboard.modules = [layers_ext, holdtap]
|
||||||
keyboard.extensions = [rgb]
|
keyboard.extensions = [rgb]
|
||||||
|
|
||||||
# Cleaner key names
|
# Cleaner key names
|
||||||
|
@ -18,7 +18,7 @@ Retailers (USA)
|
|||||||
Extensions enabled by default
|
Extensions enabled by default
|
||||||
- [Layers](/docs/en/layers.md) Need more keys than switches? Use layers.
|
- [Layers](/docs/en/layers.md) Need more keys than switches? Use layers.
|
||||||
- [RGB](/docs/en/rgb.md) Light it up
|
- [RGB](/docs/en/rgb.md) Light it up
|
||||||
- [ModTap](/docs/en/modtap.md) Allows mod keys to act as different keys when tapped.
|
- [HoldTap](/docs/en/holdtap.md) Allows mod keys to act as different keys when tapped.
|
||||||
|
|
||||||
Common Extensions
|
Common Extensions
|
||||||
- [Power](/docs/en/power.md) Powersaving features for battery life
|
- [Power](/docs/en/power.md) Powersaving features for battery life
|
||||||
|
@ -3,17 +3,17 @@ from kb import KMKKeyboard
|
|||||||
from kmk.extensions.rgb import RGB
|
from kmk.extensions.rgb import RGB
|
||||||
from kmk.keys import KC
|
from kmk.keys import KC
|
||||||
from kmk.modules.layers import Layers
|
from kmk.modules.layers import Layers
|
||||||
from kmk.modules.modtap import ModTap
|
from kmk.modules.holdtap import HoldTap
|
||||||
|
|
||||||
keyboard = KMKKeyboard()
|
keyboard = KMKKeyboard()
|
||||||
|
|
||||||
# Adding extensions
|
# Adding extensions
|
||||||
rgb = RGB(pixel_pin=keyboard.rgb_pixel_pin, num_pixels=keyboard.rgb_num_pixels, val_limit=100, hue_default=190, sat_default=100, val_default=5)
|
rgb = RGB(pixel_pin=keyboard.rgb_pixel_pin, num_pixels=keyboard.rgb_num_pixels, val_limit=100, hue_default=190, sat_default=100, val_default=5)
|
||||||
|
|
||||||
modtap = ModTap()
|
holdtap = HoldTap()
|
||||||
layers_ext = Layers()
|
layers_ext = Layers()
|
||||||
|
|
||||||
keyboard.modules = [layers_ext, modtap]
|
keyboard.modules = [layers_ext, holdtap]
|
||||||
keyboard.extensions = [rgb]
|
keyboard.extensions = [rgb]
|
||||||
|
|
||||||
# Cleaner key names
|
# Cleaner key names
|
||||||
@ -23,8 +23,8 @@ XXXXXXX = KC.NO
|
|||||||
LOWER = KC.MO(1)
|
LOWER = KC.MO(1)
|
||||||
RAISE = KC.MO(2)
|
RAISE = KC.MO(2)
|
||||||
ADJUST = KC.LT(3, KC.SPC)
|
ADJUST = KC.LT(3, KC.SPC)
|
||||||
RSFT_ENT = KC.MT(KC.ENT, KC.RSFT)
|
RSFT_ENT = KC.HT(KC.ENT, KC.RSFT)
|
||||||
RSFT_SPC = KC.MT(KC.SPC, KC.RSFT)
|
RSFT_SPC = KC.HT(KC.SPC, KC.RSFT)
|
||||||
|
|
||||||
RGB_TOG = KC.RGB_TOG
|
RGB_TOG = KC.RGB_TOG
|
||||||
RGB_HUI = KC.RGB_HUI
|
RGB_HUI = KC.RGB_HUI
|
||||||
|
@ -14,7 +14,7 @@ Retailers (USA)
|
|||||||
Extensions enabled by default
|
Extensions enabled by default
|
||||||
- [Layers](/docs/en/layers.md) Need more keys than switches? Use layers.
|
- [Layers](/docs/en/layers.md) Need more keys than switches? Use layers.
|
||||||
- [BLE_Split](/docs/en/split_keyboards.md) Connects halves without wires
|
- [BLE_Split](/docs/en/split_keyboards.md) Connects halves without wires
|
||||||
- [ModTap](/docs/en/modtap.md) Allows mod keys to act as different keys when tapped.
|
- [HoldTap](/docs/en/holdtap.md) Allows mod keys to act as different keys when tapped.
|
||||||
|
|
||||||
Common Extensions
|
Common Extensions
|
||||||
- [Split](/docs/en/split_keyboards.md) Connects halves using a wire
|
- [Split](/docs/en/split_keyboards.md) Connects halves using a wire
|
||||||
|
@ -13,14 +13,14 @@ from kmk.handlers.sequences import send_string
|
|||||||
from kmk.hid import HIDModes
|
from kmk.hid import HIDModes
|
||||||
from kmk.keys import KC
|
from kmk.keys import KC
|
||||||
from kmk.modules.layers import Layers
|
from kmk.modules.layers import Layers
|
||||||
from kmk.modules.modtap import ModTap
|
from kmk.modules.holdtap import HoldTap
|
||||||
from kmk.modules.split import Split, SplitSide, SplitType
|
from kmk.modules.split import Split, SplitSide, SplitType
|
||||||
|
|
||||||
keyboard = KMKKeyboard()
|
keyboard = KMKKeyboard()
|
||||||
modtap = ModTap()
|
holdtap = HoldTap()
|
||||||
layers_ext = Layers()
|
layers_ext = Layers()
|
||||||
keyboard.modules.append(layers_ext)
|
keyboard.modules.append(layers_ext)
|
||||||
keyboard.modules.append(modtap)
|
keyboard.modules.append(holdtap)
|
||||||
|
|
||||||
oled_ext = Oled(
|
oled_ext = Oled(
|
||||||
OledData(
|
OledData(
|
||||||
|
@ -62,7 +62,7 @@ Once you've got the gist of it:
|
|||||||
And to go even further:
|
And to go even further:
|
||||||
- [Sequences](sequences.md) are used for sending multiple keystrokes in a single action
|
- [Sequences](sequences.md) are used for sending multiple keystrokes in a single action
|
||||||
- [Layers](layers.md) can transform the whole way your keyboard is behaving with a single touch
|
- [Layers](layers.md) can transform the whole way your keyboard is behaving with a single touch
|
||||||
- [ModTap](modtap.md) allow you to customize the way a key behaves whether it is tapped or hold, and [TapDance](tapdance.md) depending on the number of times it is pressed
|
- [HoldTap](holdtap.md) allow you to customize the way a key behaves whether it is tapped or hold, and [TapDance](tapdance.md) depending on the number of times it is pressed
|
||||||
|
|
||||||
Want to have fun features such as RGB, split keyboards and more? Check out what builtin [modules](modules.md) and [extensions](extensions.md) can do!
|
Want to have fun features such as RGB, split keyboards and more? Check out what builtin [modules](modules.md) and [extensions](extensions.md) can do!
|
||||||
You can also get ideas from the various [user examples](https://github.com/KMKfw/kmk_firmware/tree/master/user_keymaps) that we provide and dig into our [documentation](README.md).
|
You can also get ideas from the various [user examples](https://github.com/KMKfw/kmk_firmware/tree/master/user_keymaps) that we provide and dig into our [documentation](README.md).
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
- [Combos](combos.md): Adds chords and sequences
|
- [Combos](combos.md): Adds chords and sequences
|
||||||
- [Layers](layers.md): Adds layer support (Fn key) to allow many more keys to be put on your keyboard
|
- [Layers](layers.md): Adds layer support (Fn key) to allow many more keys to be put on your keyboard
|
||||||
- [ModTap](modtap.md): Adds support for augmented modifier keys to act as one key when tapped, and modifier when held.
|
- [HoldTap](holdtap.md): Adds support for augmented modifier keys to act as one key when tapped, and modifier when held.
|
||||||
- [Mouse keys](mouse_keys.md): Adds mouse keycodes
|
- [Mouse keys](mouse_keys.md): Adds mouse keycodes
|
||||||
- [OneShot](oneshot.md): Adds support for oneshot/sticky keys.
|
- [OneShot](oneshot.md): Adds support for oneshot/sticky keys.
|
||||||
- [Power](power.md): Power saving features. This is mostly useful when on battery power.
|
- [Power](power.md): Power saving features. This is mostly useful when on battery power.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# CapsWord
|
# CapsWord
|
||||||
The CapsWord module functions similar to caps lock but will deactivate automatically when its encounters a key that breaks the word or after inactivity timeout.
|
The CapsWord module functions similar to caps lock but will deactivate automatically when its encounters a key that breaks the word or after inactivity timeout.
|
||||||
By default it will not deactivate CapsWord on numbers, alphabets, underscore, modifiers, minus, backspace and other keys like ModTap, Layers, etc.
|
By default it will not deactivate CapsWord on numbers, alphabets, underscore, modifiers, minus, backspace and other keys like HoldTap, Layers, etc.
|
||||||
Add it to your keyboard's modules list with:
|
Add it to your keyboard's modules list with:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
|
@ -23,7 +23,7 @@ Here is all you need to use this module in your `main.py` / `code.py` file.
|
|||||||
```python
|
```python
|
||||||
from kmk.modules.encoder import EncoderHandler
|
from kmk.modules.encoder import EncoderHandler
|
||||||
encoder_handler = EncoderHandler()
|
encoder_handler = EncoderHandler()
|
||||||
keyboard.modules = [layers, modtap, encoder_handler]
|
keyboard.modules = [layers, holdtap, encoder_handler]
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Define the pins for each encoder: `pin_a`, `pin_b` for rotations, `pin_button` for the switch in the encoder. Set switch to `None` if the encoder's button is handled differently (as a part of matrix for example) or not at all. If you want to invert the direction of the encoder, set the 4th (optional) parameter `is_inverted` to `True`. 5th parameter is [encoder divisor](#encoder-resolution) (optional), it can be either `2` or `4`.
|
2. Define the pins for each encoder: `pin_a`, `pin_b` for rotations, `pin_button` for the switch in the encoder. Set switch to `None` if the encoder's button is handled differently (as a part of matrix for example) or not at all. If you want to invert the direction of the encoder, set the 4th (optional) parameter `is_inverted` to `True`. 5th parameter is [encoder divisor](#encoder-resolution) (optional), it can be either `2` or `4`.
|
||||||
|
@ -21,7 +21,7 @@ keyboard.modules.append(Layers())
|
|||||||
|
|
||||||
## Custom HoldTap Behavior
|
## Custom HoldTap Behavior
|
||||||
`KC.TT` and `KC.LT` use the same heuristic to determine taps and holds as
|
`KC.TT` and `KC.LT` use the same heuristic to determine taps and holds as
|
||||||
ModTap. Check out the [ModTap doc](modtap.md) to find out more.
|
HoldTap. Check out the [HoldTap doc](holdtap.md) to find out more.
|
||||||
|
|
||||||
## Working with Layers
|
## Working with Layers
|
||||||
When starting out, care should be taken when working with layers, since it's possible to lock
|
When starting out, care should be taken when working with layers, since it's possible to lock
|
||||||
|
@ -1,39 +1,39 @@
|
|||||||
# ModTap Keycodes
|
# HoldTap Keycodes
|
||||||
Enabling ModTap will give you access to the following keycodes and can simply be
|
Enabling HoldTap will give you access to the following keycodes and can simply be
|
||||||
added to the modules list.
|
added to the modules list.
|
||||||
|
|
||||||
```python
|
```python
|
||||||
from kmk.modules.modtap import ModTap
|
from kmk.modules.holdtap import HoldTap
|
||||||
modtap = ModTap()
|
holdtap = HoldTap()
|
||||||
# optional: set a custom tap timeout in ms
|
# optional: set a custom tap timeout in ms
|
||||||
# modtap.tap_time = 300
|
# holdtap.tap_time = 300
|
||||||
keyboard.modules.append(modtap)
|
keyboard.modules.append(holdtap)
|
||||||
```
|
```
|
||||||
|
|
||||||
## Keycodes
|
## Keycodes
|
||||||
|
|
||||||
|New Keycode | Description |
|
|New Keycode | Description |
|
||||||
|---------------------------------------------------------|-----------------------------------------------------------------|
|
|---------------------------------------------------------|-----------------------------------------------------------------|
|
||||||
|`LCTL = KC.MT(KC.SOMETHING, KC.LCTRL)` |`LCTRL` if held `kc` if tapped |
|
|`LCTL = KC.HT(KC.SOMETHING, KC.LCTRL)` |`LCTRL` if held `kc` if tapped |
|
||||||
|`LSFT = KC.MT(KC.SOMETHING, KC.LSFT)` |`LSHIFT` if held `kc` if tapped |
|
|`LSFT = KC.HT(KC.SOMETHING, KC.LSFT)` |`LSHIFT` if held `kc` if tapped |
|
||||||
|`LALT = KC.MT(KC.SOMETHING, KC.LALT)` |`LALT` if held `kc` if tapped |
|
|`LALT = KC.HT(KC.SOMETHING, KC.LALT)` |`LALT` if held `kc` if tapped |
|
||||||
|`LGUI = KC.MT(KC.SOMETHING, KC.LGUI)` |`LGUI` if held `kc` if tapped |
|
|`LGUI = KC.HT(KC.SOMETHING, KC.LGUI)` |`LGUI` if held `kc` if tapped |
|
||||||
|`RCTL = KC.MT(KC.SOMETHING, KC.RCTRL)` |`RCTRL` if held `kc` if tapped |
|
|`RCTL = KC.HT(KC.SOMETHING, KC.RCTRL)` |`RCTRL` if held `kc` if tapped |
|
||||||
|`RSFT = KC.MT(KC.SOMETHING, KC.RSFT)` |`RSHIFT` if held `kc` if tapped |
|
|`RSFT = KC.HT(KC.SOMETHING, KC.RSFT)` |`RSHIFT` if held `kc` if tapped |
|
||||||
|`RALT = KC.MT(KC.SOMETHING, KC.RALT)` |`RALT` if held `kc` if tapped |
|
|`RALT = KC.HT(KC.SOMETHING, KC.RALT)` |`RALT` if held `kc` if tapped |
|
||||||
|`RGUI = KC.MT(KC.SOMETHING, KC.RGUI)` |`RGUI` if held `kc` if tapped |
|
|`RGUI = KC.HT(KC.SOMETHING, KC.RGUI)` |`RGUI` if held `kc` if tapped |
|
||||||
|`SGUI = KC.MT(KC.SOMETHING, KC.LSHFT(KC.LGUI))` |`LSHIFT` and `LGUI` if held `kc` if tapped |
|
|`SGUI = KC.HT(KC.SOMETHING, KC.LSHFT(KC.LGUI))` |`LSHIFT` and `LGUI` if held `kc` if tapped |
|
||||||
|`LCA = KC.MT(KC.SOMETHING, KC.LCTRL(KC.LALT))` |`LCTRL` and `LALT` if held `kc` if tapped |
|
|`LCA = KC.HT(KC.SOMETHING, KC.LCTRL(KC.LALT))` |`LCTRL` and `LALT` if held `kc` if tapped |
|
||||||
|`LCAG = KC.MT(KC.SOMETHING, KC.LCTRL(KC.LALT(KC.LGUI)))` |`LCTRL` and `LALT` and `LGUI` if held `kc` if tapped |
|
|`LCAG = KC.HT(KC.SOMETHING, KC.LCTRL(KC.LALT(KC.LGUI)))` |`LCTRL` and `LALT` and `LGUI` if held `kc` if tapped |
|
||||||
|`MEH = KC.MT(KC.SOMETHING, KC.LCTRL(KC.LSFT(KC.LALT)))` |`CTRL` and `LSHIFT` and `LALT` if held `kc` if tapped |
|
|`MEH = KC.HT(KC.SOMETHING, KC.LCTRL(KC.LSFT(KC.LALT)))` |`CTRL` and `LSHIFT` and `LALT` if held `kc` if tapped |
|
||||||
|`HYPR = KC.MT(KC.SOMETHING, KC.HYPR)` |`LCTRL` and `LSHIFT` and `LALT` and `LGUI` if held `kc` if tapped|
|
|`HYPR = KC.HT(KC.SOMETHING, KC.HYPR)` |`LCTRL` and `LSHIFT` and `LALT` and `LGUI` if held `kc` if tapped|
|
||||||
|
|
||||||
## Custom HoldTap Behavior
|
## Custom HoldTap Behavior
|
||||||
The full ModTap signature is as follows:
|
The full HoldTap signature is as follows:
|
||||||
```python
|
```python
|
||||||
KC.MT(KC.TAP, KC.HOLD, prefer_hold=True, tap_interrupted=False, tap_time=None, repeat=HoldTapRepeat.NONE)
|
KC.HT(KC.TAP, KC.HOLD, prefer_hold=True, tap_interrupted=False, tap_time=None, repeat=HoldTapRepeat.NONE)
|
||||||
```
|
```
|
||||||
* `prefer_hold`: decides which keycode the ModTap key resolves to when another
|
* `prefer_hold`: decides which keycode the HoldTap key resolves to when another
|
||||||
key is pressed before the timeout finishes. When `True` the hold keycode is
|
key is pressed before the timeout finishes. When `True` the hold keycode is
|
||||||
chosen, the tap keycode when `False`.
|
chosen, the tap keycode when `False`.
|
||||||
* `tap_interrupted`: decides if the timeout will interrupt at the first other
|
* `tap_interrupted`: decides if the timeout will interrupt at the first other
|
||||||
@ -48,4 +48,4 @@ KC.MT(KC.TAP, KC.HOLD, prefer_hold=True, tap_interrupted=False, tap_time=None, r
|
|||||||
* `NONE`: no repeat action (default), everything works as expected.
|
* `NONE`: no repeat action (default), everything works as expected.
|
||||||
The `HoldTapRepeat` enum must be imported from `kmk.modules.holdtap`.
|
The `HoldTapRepeat` enum must be imported from `kmk.modules.holdtap`.
|
||||||
|
|
||||||
Each of these parameters can be set for every ModTap key individually.
|
Each of these parameters can be set for every HoldTap key individually.
|
||||||
|
@ -10,7 +10,7 @@ modules are
|
|||||||
- [Combos](combos.md): Adds chords and sequences
|
- [Combos](combos.md): Adds chords and sequences
|
||||||
- [Layers](layers.md): Adds layer support (Fn key) to allow many more keys to be
|
- [Layers](layers.md): Adds layer support (Fn key) to allow many more keys to be
|
||||||
put on your keyboard.
|
put on your keyboard.
|
||||||
- [ModTap](modtap.md): Adds support for augmented modifier keys to act as one key
|
- [HoldTap](holdtap.md): Adds support for augmented modifier keys to act as one key
|
||||||
when tapped, and modifier when held.
|
when tapped, and modifier when held.
|
||||||
- [Mouse keys](mouse_keys.md): Adds mouse keycodes.
|
- [Mouse keys](mouse_keys.md): Adds mouse keycodes.
|
||||||
- [OneShot](oneshot.md): Adds support for oneshot/sticky keys.
|
- [OneShot](oneshot.md): Adds support for oneshot/sticky keys.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
Split keyboards are mostly the same as unsplit. Wired UART is fully supported,
|
Split keyboards are mostly the same as unsplit. Wired UART is fully supported,
|
||||||
and testing of Bluetooth splits, though we don't currently offer support for this.
|
and testing of Bluetooth splits, though we don't currently offer support for this.
|
||||||
|
|
||||||
Notice that this Split module must be added after the ModTap module to the keyboard.modules.
|
Notice that this Split module must be added after the HoldTap module to the keyboard.modules.
|
||||||
|
|
||||||
## Drive names
|
## Drive names
|
||||||
As you will have two circuitpython drives to update regularly, it is adviced to rename them to make
|
As you will have two circuitpython drives to update regularly, it is adviced to rename them to make
|
||||||
|
@ -46,7 +46,7 @@ EXAMPLE_TD = KC.TD(
|
|||||||
# Tap once for "a"
|
# Tap once for "a"
|
||||||
KC.A,
|
KC.A,
|
||||||
# Tap twice for "b", or tap and hold for "left control"
|
# Tap twice for "b", or tap and hold for "left control"
|
||||||
KC.MT(KC.B, KC.LCTL, prefer_hold=False),
|
KC.HT(KC.B, KC.LCTL, prefer_hold=False),
|
||||||
# Tap three times to send a raw string via macro
|
# Tap three times to send a raw string via macro
|
||||||
send_string('macros in a tap dance? I think yes'),
|
send_string('macros in a tap dance? I think yes'),
|
||||||
# Tap four times to toggle layer index 1, tap 3 times and hold for 3s to
|
# Tap four times to toggle layer index 1, tap 3 times and hold for 3s to
|
||||||
|
@ -80,7 +80,7 @@ QMK チームが提供している手配線キーボード用の[ガイド](http
|
|||||||
- [シーケンス](sequences.md) 一つのアクションで複数のキーストロークを送信するために使用します。
|
- [シーケンス](sequences.md) 一つのアクションで複数のキーストロークを送信するために使用します。
|
||||||
- [レイヤー](layers.md)でタッチ一つでキーボードの全体の動きを変えることができます。
|
- [レイヤー](layers.md)でタッチ一つでキーボードの全体の動きを変えることができます。
|
||||||
|
|
||||||
- [モドタップ](modtap.md) でキーの押し/長押しの動作を設定し、何回押されたかによって[タップダンス](tapdance.md)を設定します。
|
- [モドタップ](holdtap.md) でキーの押し/長押しの動作を設定し、何回押されたかによって[タップダンス](tapdance.md)を設定します。
|
||||||
|
|
||||||
RGB や分裂型などの機能を楽しめたい場合は、ビルトイン[モジュール](modules.md)と[拡張機能](extensions.md)を見てみてください!
|
RGB や分裂型などの機能を楽しめたい場合は、ビルトイン[モジュール](modules.md)と[拡張機能](extensions.md)を見てみてください!
|
||||||
|
|
||||||
|
@ -101,7 +101,7 @@ E para ir mais além:
|
|||||||
só.
|
só.
|
||||||
- [Camadas](layers.md) podem transformar totalmente como seu teclado age com um
|
- [Camadas](layers.md) podem transformar totalmente como seu teclado age com um
|
||||||
simples toque.
|
simples toque.
|
||||||
- [ModTap](modtap.md) te permite customizar a maneira que uma tecla age quando é
|
- [HoldTap](holdtap.md) te permite customizar a maneira que uma tecla age quando é
|
||||||
pressionada ou "segurada"; e o
|
pressionada ou "segurada"; e o
|
||||||
- [TapDance](tapdance.md) dependendo do número de vezes que ela é pressionada.
|
- [TapDance](tapdance.md) dependendo do número de vezes que ela é pressionada.
|
||||||
|
|
||||||
|
@ -1,27 +1,27 @@
|
|||||||
# Keycodes ModTap
|
# Keycodes HoldTap
|
||||||
|
|
||||||
Habilitar o ModTap (adicionando-o à lista de módulos) te dará acesso aos
|
Habilitar o HoldTap (adicionando-o à lista de módulos) te dará acesso aos
|
||||||
keycodes abaixo:
|
keycodes abaixo:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
from kmk.modules.modtap import ModTap
|
from kmk.modules.holdtap import HoldTap
|
||||||
keyboard.modules.append(ModTap())
|
keyboard.modules.append(HoldTap())
|
||||||
```
|
```
|
||||||
|
|
||||||
## Keycodes
|
## Keycodes
|
||||||
|
|
||||||
| Novo Keycode | Descrição |
|
| Novo Keycode | Descrição |
|
||||||
|--------------------------------------------------------|-----------------------------------------------------------------|
|
|--------------------------------------------------------|-----------------------------------------------------------------|
|
||||||
| LCTL = KC.MT(KC.SOMETHING, KC.LCTRL) | `LCTRL` se segurado `kc` se tocado |
|
| LCTL = KC.HT(KC.SOMETHING, KC.LCTRL) | `LCTRL` se segurado `kc` se tocado |
|
||||||
| LSFT = KC.MT(KC.SOMETHING, KC.LSFT) | `LSHIFT` se segurado `kc` se tocado |
|
| LSFT = KC.HT(KC.SOMETHING, KC.LSFT) | `LSHIFT` se segurado `kc` se tocado |
|
||||||
| LALT = KC.MT(KC.SOMETHING, KC.LALT) | `LALT` se segurado `kc` se tocado |
|
| LALT = KC.HT(KC.SOMETHING, KC.LALT) | `LALT` se segurado `kc` se tocado |
|
||||||
| LGUI = KC.MT(KC.SOMETHING, KC.LGUI) | `LGUI` se segurado `kc` se tocado |
|
| LGUI = KC.HT(KC.SOMETHING, KC.LGUI) | `LGUI` se segurado `kc` se tocado |
|
||||||
| RCTL = KC.MT(KC.SOMETHING, KC.RCTRL) | `RCTRL` se segurado `kc` se tocado |
|
| RCTL = KC.HT(KC.SOMETHING, KC.RCTRL) | `RCTRL` se segurado `kc` se tocado |
|
||||||
| RSFT = KC.MT(KC.SOMETHING, KC.RSFT) | `RSHIFT` se segurado `kc` se tocado |
|
| RSFT = KC.HT(KC.SOMETHING, KC.RSFT) | `RSHIFT` se segurado `kc` se tocado |
|
||||||
| RALT = KC.MT(KC.SOMETHING, KC.RALT) | `RALT` se segurado `kc` se tocado |
|
| RALT = KC.HT(KC.SOMETHING, KC.RALT) | `RALT` se segurado `kc` se tocado |
|
||||||
| RGUI = KC.MT(KC.SOMETHING, KC.RGUI) | `RGUI` se segurado `kc` se tocado |
|
| RGUI = KC.HT(KC.SOMETHING, KC.RGUI) | `RGUI` se segurado `kc` se tocado |
|
||||||
| SGUI = KC.MT(KC.SOMETHING, KC.LSHFT(KC.LGUI)) | `LSHIFT` e `LGUI` se segurado `kc` se tocado |
|
| SGUI = KC.HT(KC.SOMETHING, KC.LSHFT(KC.LGUI)) | `LSHIFT` e `LGUI` se segurado `kc` se tocado |
|
||||||
| LCA = KC.MT(KC.SOMETHING, KC.LCTRL(KC.LALT)) | `LCTRL` e `LALT` se segurado `kc` se tocado |
|
| LCA = KC.HT(KC.SOMETHING, KC.LCTRL(KC.LALT)) | `LCTRL` e `LALT` se segurado `kc` se tocado |
|
||||||
| LCAG = KC.MT(KC.SOMETHING, KC.LCTRL(KC.LALT(KC.LGUI))) | `LCTRL` e `LALT` e `LGUI` se segurado `kc` se tocado |
|
| LCAG = KC.HT(KC.SOMETHING, KC.LCTRL(KC.LALT(KC.LGUI))) | `LCTRL` e `LALT` e `LGUI` se segurado `kc` se tocado |
|
||||||
| MEH = KC.MT(KC.SOMETHING, KC.LCTRL(KC.LSFT(KC.LALT))) | `CTRL` e `LSHIFT` e `LALT` se segurado `kc` se tocado |
|
| MEH = KC.HT(KC.SOMETHING, KC.LCTRL(KC.LSFT(KC.LALT))) | `CTRL` e `LSHIFT` e `LALT` se segurado `kc` se tocado |
|
||||||
| HYPR = KC.MT(KC.SOMETHING, KC.HYPR) | `LCTRL` e `LSHIFT` e `LALT` e `LGUI` se segurado `kc` if tapped |
|
| HYPR = KC.HT(KC.SOMETHING, KC.HYPR) | `LCTRL` e `LSHIFT` e `LALT` e `LGUI` se segurado `kc` if tapped |
|
||||||
|
@ -12,7 +12,7 @@ módulos oferecidos correntemente são;
|
|||||||
|
|
||||||
- [Layers](layers.md): Acrescenta suporte a camadas (Tecla Fn) para permitir
|
- [Layers](layers.md): Acrescenta suporte a camadas (Tecla Fn) para permitir
|
||||||
colocar bem mais teclas no seu teclado.
|
colocar bem mais teclas no seu teclado.
|
||||||
- [ModTap](modtap.md): Acrescenta suporte para teclas modificadoras que agem
|
- [HoldTap](holdtap.md): Acrescenta suporte para teclas modificadoras que agem
|
||||||
como teclas comuns ao serem tocadas, mas como modificadores quando seguradas.
|
como teclas comuns ao serem tocadas, mas como modificadores quando seguradas.
|
||||||
- [Power](power.md): Economia de energia. Este é mais útil quando usando baterias.
|
- [Power](power.md): Economia de energia. Este é mais útil quando usando baterias.
|
||||||
- [Split](split_keyboards.md): Teclados repartidos em dois. Tão ergonômicos!
|
- [Split](split_keyboards.md): Teclados repartidos em dois. Tão ergonômicos!
|
||||||
|
@ -2,7 +2,7 @@ from kmk.keys import make_argumented_key
|
|||||||
from kmk.modules.holdtap import HoldTap, HoldTapKeyMeta
|
from kmk.modules.holdtap import HoldTap, HoldTapKeyMeta
|
||||||
|
|
||||||
|
|
||||||
class ModTap(HoldTap):
|
class HoldTap(HoldTap):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
make_argumented_key(
|
make_argumented_key(
|
||||||
|
@ -3,7 +3,7 @@ import unittest
|
|||||||
from kmk.keys import KC
|
from kmk.keys import KC
|
||||||
from kmk.modules.holdtap import HoldTapRepeat
|
from kmk.modules.holdtap import HoldTapRepeat
|
||||||
from kmk.modules.layers import Layers
|
from kmk.modules.layers import Layers
|
||||||
from kmk.modules.modtap import ModTap
|
from kmk.modules.holdtap import HoldTap
|
||||||
from kmk.modules.oneshot import OneShot
|
from kmk.modules.oneshot import OneShot
|
||||||
from tests.keyboard_test import KeyboardTest
|
from tests.keyboard_test import KeyboardTest
|
||||||
|
|
||||||
@ -11,9 +11,9 @@ from tests.keyboard_test import KeyboardTest
|
|||||||
class TestHoldTap(unittest.TestCase):
|
class TestHoldTap(unittest.TestCase):
|
||||||
def test_holdtap(self):
|
def test_holdtap(self):
|
||||||
keyboard = KeyboardTest(
|
keyboard = KeyboardTest(
|
||||||
[Layers(), ModTap(), OneShot()],
|
[Layers(), HoldTap(), OneShot()],
|
||||||
[
|
[
|
||||||
[KC.MT(KC.A, KC.LCTL), KC.LT(1, KC.B), KC.C, KC.D, KC.OS(KC.E)],
|
[KC.HT(KC.A, KC.LCTL), KC.LT(1, KC.B), KC.C, KC.D, KC.OS(KC.E)],
|
||||||
[KC.N1, KC.N2, KC.N3, KC.N4, KC.N5],
|
[KC.N1, KC.N2, KC.N3, KC.N4, KC.N5],
|
||||||
],
|
],
|
||||||
debug_enabled=False,
|
debug_enabled=False,
|
||||||
@ -118,13 +118,13 @@ class TestHoldTap(unittest.TestCase):
|
|||||||
|
|
||||||
def test_holdtap_chain(self):
|
def test_holdtap_chain(self):
|
||||||
keyboard = KeyboardTest(
|
keyboard = KeyboardTest(
|
||||||
[ModTap()],
|
[HoldTap()],
|
||||||
[
|
[
|
||||||
[
|
[
|
||||||
KC.N0,
|
KC.N0,
|
||||||
KC.MT(KC.N1, KC.LCTL, tap_time=50),
|
KC.HT(KC.N1, KC.LCTL, tap_time=50),
|
||||||
KC.MT(KC.N2, KC.LSFT, tap_interrupted=True, tap_time=50),
|
KC.HT(KC.N2, KC.LSFT, tap_interrupted=True, tap_time=50),
|
||||||
KC.MT(
|
KC.HT(
|
||||||
KC.N3,
|
KC.N3,
|
||||||
KC.LALT,
|
KC.LALT,
|
||||||
prefer_hold=False,
|
prefer_hold=False,
|
||||||
@ -275,12 +275,12 @@ class TestHoldTap(unittest.TestCase):
|
|||||||
|
|
||||||
def test_holdtap_repeat(self):
|
def test_holdtap_repeat(self):
|
||||||
keyboard = KeyboardTest(
|
keyboard = KeyboardTest(
|
||||||
[ModTap()],
|
[HoldTap()],
|
||||||
[
|
[
|
||||||
[
|
[
|
||||||
KC.MT(KC.A, KC.B, repeat=HoldTapRepeat.ALL, tap_time=50),
|
KC.HT(KC.A, KC.B, repeat=HoldTapRepeat.ALL, tap_time=50),
|
||||||
KC.MT(KC.A, KC.B, repeat=HoldTapRepeat.TAP, tap_time=50),
|
KC.HT(KC.A, KC.B, repeat=HoldTapRepeat.TAP, tap_time=50),
|
||||||
KC.MT(KC.A, KC.B, repeat=HoldTapRepeat.HOLD, tap_time=50),
|
KC.HT(KC.A, KC.B, repeat=HoldTapRepeat.HOLD, tap_time=50),
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
debug_enabled=False,
|
debug_enabled=False,
|
||||||
@ -352,10 +352,10 @@ class TestHoldTap(unittest.TestCase):
|
|||||||
|
|
||||||
def test_oneshot(self):
|
def test_oneshot(self):
|
||||||
keyboard = KeyboardTest(
|
keyboard = KeyboardTest(
|
||||||
[Layers(), ModTap(), OneShot()],
|
[Layers(), HoldTap(), OneShot()],
|
||||||
[
|
[
|
||||||
[
|
[
|
||||||
KC.MT(KC.A, KC.LCTL),
|
KC.HT(KC.A, KC.LCTL),
|
||||||
KC.LT(1, KC.B),
|
KC.LT(1, KC.B),
|
||||||
KC.C,
|
KC.C,
|
||||||
KC.D,
|
KC.D,
|
||||||
|
@ -88,7 +88,7 @@ class TestTapDance(unittest.TestCase):
|
|||||||
[{KC.N1}, {KC.N1, KC.N4}, {KC.N4}, {}],
|
[{KC.N1}, {KC.N1, KC.N4}, {KC.N4}, {}],
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_modtap(self):
|
def test_holdtap(self):
|
||||||
keyboard = self.keyboard
|
keyboard = self.keyboard
|
||||||
t_within = self.t_within
|
t_within = self.t_within
|
||||||
t_after = self.t_after
|
t_after = self.t_after
|
||||||
@ -199,12 +199,12 @@ class TestTapDance(unittest.TestCase):
|
|||||||
[{KC.A}, {}, {KC.N5}, {}],
|
[{KC.A}, {}, {KC.N5}, {}],
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_modtap_repeat(self):
|
def test_holdtap_repeat(self):
|
||||||
keyboard = self.keyboard
|
keyboard = self.keyboard
|
||||||
t_after = self.t_after
|
t_after = self.t_after
|
||||||
|
|
||||||
keyboard.test(
|
keyboard.test(
|
||||||
'ModTap repeat',
|
'HoldTap repeat',
|
||||||
[
|
[
|
||||||
(2, True),
|
(2, True),
|
||||||
(2, False),
|
(2, False),
|
||||||
|
@ -3,7 +3,7 @@ from kb import KMKKeyboard
|
|||||||
from kmk.extensions.rgb import RGB
|
from kmk.extensions.rgb import RGB
|
||||||
from kmk.keys import KC
|
from kmk.keys import KC
|
||||||
from kmk.modules.layers import Layers
|
from kmk.modules.layers import Layers
|
||||||
from kmk.modules.modtap import ModTap
|
from kmk.modules.holdtap import HoldTap
|
||||||
|
|
||||||
keyboard = KMKKeyboard()
|
keyboard = KMKKeyboard()
|
||||||
|
|
||||||
@ -22,15 +22,15 @@ FN1 = 2
|
|||||||
|
|
||||||
rgb_ext = RGB(pixel_pin=keyboard.rgb_pixel_pin, num_pixels=16)
|
rgb_ext = RGB(pixel_pin=keyboard.rgb_pixel_pin, num_pixels=16)
|
||||||
layers_ext = Layers()
|
layers_ext = Layers()
|
||||||
modtap = ModTap()
|
holdtap = HoldTap()
|
||||||
|
|
||||||
keyboard.modules = [layers_ext, modtap]
|
keyboard.modules = [layers_ext, holdtap]
|
||||||
keyboard.extensions = [rgb_ext]
|
keyboard.extensions = [rgb_ext]
|
||||||
|
|
||||||
_______ = KC.TRNS
|
_______ = KC.TRNS
|
||||||
XXXXXXX = KC.NO
|
XXXXXXX = KC.NO
|
||||||
HOME = KC.MT(KC.HOME, KC.LSFT)
|
HOME = KC.HT(KC.HOME, KC.LSFT)
|
||||||
END = KC.MT(KC.END, KC.RSFT)
|
END = KC.HT(KC.END, KC.RSFT)
|
||||||
LEFT_LAY = KC.LT(FN1, KC.LEFT)
|
LEFT_LAY = KC.LT(FN1, KC.LEFT)
|
||||||
SHFT_INS = KC.LSFT(KC.INS)
|
SHFT_INS = KC.LSFT(KC.INS)
|
||||||
SPC = KC.LT(FN1, KC.SPC)
|
SPC = KC.LT(FN1, KC.SPC)
|
||||||
|
@ -6,7 +6,7 @@ from kmk.extensions.rgb import RGB
|
|||||||
from kmk.handlers.sequences import send_string, simple_key_sequence
|
from kmk.handlers.sequences import send_string, simple_key_sequence
|
||||||
from kmk.keys import KC
|
from kmk.keys import KC
|
||||||
from kmk.modules.layers import Layers
|
from kmk.modules.layers import Layers
|
||||||
from kmk.modules.modtap import ModTap
|
from kmk.modules.holdtap import HoldTap
|
||||||
from kmk.modules.split import Split
|
from kmk.modules.split import Split
|
||||||
|
|
||||||
keyboard = KMKKeyboard()
|
keyboard = KMKKeyboard()
|
||||||
@ -15,11 +15,11 @@ keyboard = KMKKeyboard()
|
|||||||
keyboard.tap_time = 150
|
keyboard.tap_time = 150
|
||||||
|
|
||||||
layers = Layers()
|
layers = Layers()
|
||||||
modtap = ModTap()
|
holdtap = HoldTap()
|
||||||
rgb_ext = RGB(pixel_pin=keyboard.rgb_pixel_pin, num_pixels=27, val_limit=100, hue_default=190, sat_default=100, val_default=5)
|
rgb_ext = RGB(pixel_pin=keyboard.rgb_pixel_pin, num_pixels=27, val_limit=100, hue_default=190, sat_default=100, val_default=5)
|
||||||
split = Split()
|
split = Split()
|
||||||
|
|
||||||
keyboard.modules = [modtap, layers, split]
|
keyboard.modules = [holdtap, layers, split]
|
||||||
keyboard.extensions = [rgb_ext]
|
keyboard.extensions = [rgb_ext]
|
||||||
|
|
||||||
_______ = KC.TRNS
|
_______ = KC.TRNS
|
||||||
|
@ -35,7 +35,7 @@ keyboard.keymap = [
|
|||||||
# Default
|
# Default
|
||||||
KC.GESC, KC.Q, KC.W, KC.E, KC.R, KC.T, KC.Y, KC.U, KC.I, KC.O, KC.P, KC.BSPC,
|
KC.GESC, KC.Q, KC.W, KC.E, KC.R, KC.T, KC.Y, KC.U, KC.I, KC.O, KC.P, KC.BSPC,
|
||||||
KC.TAB, KC.A, KC.S, KC.D, KC.F, KC.G, KC.H, KC.J, KC.K, KC.L, KC.SCLN, KC.QUOT,
|
KC.TAB, KC.A, KC.S, KC.D, KC.F, KC.G, KC.H, KC.J, KC.K, KC.L, KC.SCLN, KC.QUOT,
|
||||||
KC.LSFT, KC.Z, KC.X, KC.C, KC.V, KC.B, KC.N, KC.M, KC.COMM, KC.DOT, KC.SLSH, KC.MT(KC.BSLS, KC.LSFT),
|
KC.LSFT, KC.Z, KC.X, KC.C, KC.V, KC.B, KC.N, KC.M, KC.COMM, KC.DOT, KC.SLSH, KC.HT(KC.BSLS, KC.LSFT),
|
||||||
KC.LCTRL, KC.LGUI, KC.LALT, LOWER, KC.ENT, KC.SPC, KC.SPC, UP_HYP, KC.LEFT, KC.DOWN, KC.UP, KC.RGHT,
|
KC.LCTRL, KC.LGUI, KC.LALT, LOWER, KC.ENT, KC.SPC, KC.SPC, UP_HYP, KC.LEFT, KC.DOWN, KC.UP, KC.RGHT,
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
Loading…
x
Reference in New Issue
Block a user