punctuation is alway surrounded by spaces
asCTRL
as SPACE
upperCase and in =
momentarily activates layer. As soon as you let go of the key, the layer is deactivated.
Momentarily activates layer (like MO), but with modifier(s) mod active. Only supports layers 0-15 and the left modifiers: MOD_LCTL, MOD_LSFT, MOD_LALT, MOD_LGUI (note the use of MOD_ constants instead of KC_). These modifiers can be combined using bitwise OR, e.g. LM(_RAISE, MOD_LCTL | MOD_LALT).
momentarily activates layer when held, and sends kc when tapped. Only supports layers 0-15.
momentarily activates layer until the next key is pressed. See One Shot Keys for details and additional functionality.
toggles layer, activating it if it’s inactive and vice versa
activates layer and de-activates all other layers (except your default layer). This function is special, because instead of just adding/removing one layer to your active layer stack, it will completely replace your current active layers, uniquely allowing you to replace higher layers with a lower one. This is activated on keydown (as soon as the key is pressed).
Layer Tap-Toggle. If you hold the key down, layer is activated, and then is de-activated when you let go (like MO). If you repeatedly tap it, the layer will be toggled on or off (like TG). It needs 5 taps by default, but you can change this by defining TAPPING_TOGGLE – for example, #define TAPPING_TOGGLE 2 to toggle on just two taps.
in * {l,r}{T,I,M,R,P}{1,2,3,4,5,6} hand finger number-of-switch
upperCase and in ~
QWERTY
RSTHD
SYMBOLS
MEDMOUSE
DIACRITICA
FUNCTION
SYLABELS
EMOJI
HUB
modifier work on xkb layerSwitches on qmk
- emacs
- firefox
- chrome
- Qt-Apps
https://github.com/zsa/qmk_firmware/
./qmk_firmware/.envrc
make git-submodule
import os
import glob
import pathlib
sources = glob.glob('./layouts/qwerty/*/*/unzipped/moonlander_qwerty_source')
src = sources[-1]
version = src.replace('./layouts/qwerty', '').replace('/unzipped/moonlander_qwerty_source', '').lstrip('/')
current_minor_version = version[-1]
new_minor_version = str(int(current_minor_version) + 1)
src_tpl = src.rpartition(current_minor_version)
dst = ''.join(src_tpl[0] + new_minor_version + '/unzipped')
print(f'{src=}\n{version=}\n{current_minor_version=}\n{new_minor_version=}\n{dst=}')
pathlib.Path(dst).mkdir(parents=True, exist_ok=True)
sd "SRC = matrix.c" "SRC = matrix.c\n\nSWAP_HANDS_ENABLE = yes" $(exa -1r $(fd -p -g '**/unzipped/moonlander_qwerty_source/rules.mk') | head -n1)
works only from cli
sd "KC_CAPSLOCK" "SH_MON" $(exa -1r $(fd -p -g '**/unzipped/moonlander_qwerty_source/keymap.c') | head -n1)
import os
import glob
sources = glob.glob('./layouts/qwerty/*/*/unzipped/moonlander_qwerty_source')
# path = glob.glob('./layouts/qwerty/*/*/')
src = sources[-1]
version = src.replace('./layouts/qwerty', '').replace('/unzipped/moonlander_qwerty_source', '').replace('/','.').lstrip('.')
dst = f'./qmk_firmware/keyboards/moonlander/keymaps/{version}'
rel_path_src = os.path.relpath(src, os.path.dirname(dst))
os.symlink(rel_path_src, dst)
print(src, version, dst, sep='\n')
# all_folders = os.listdir(path[-1])
# print(all_folders)
# all_folders.sort()
# latest = all_folders[-1].replace('ID', '')
# new = int(latests) + 1
# os.makedirs('ID'+str(latest))
print(f'make moonlander:{version}')
make moonlander:VERSION
from ./qmk_firmware/moonlander_VERSION.bin
to
./layouts/VERSION_PATH
wally-cli
go python Rust Dart Flutter englisch deutsch
- State “TODO” from [2021-10-19 Tue 16:12]
- emacs
- i3
- less
- ranger
- revealjs
- vim