xremap/example/config.yml
2021-12-21 00:18:22 -08:00

216 lines
4.2 KiB
YAML

modmap:
- name: Global
remap:
# CapsLock/Ctrl_L -> Esc
CapsLock: Esc
Ctrl_L: Esc
# HHKB: [Alt_L] [Muhenkan] [Space] [Henkan] [KatakanaHiragana]
Alt_L: Ctrl_R # for Ctrl+Click
Muhenkan: Ctrl_L
Henkan: Shift_L
- name: Kana -> Windows
wm_class:
not: jetbrains-idea
remap:
# Use Windows since Alt is annoying in Electron apps (Slack, Nocturn)
KatakanaHiragana: Win_R
- name: Kana -> Alt
wm_class:
only: jetbrains-idea
remap:
# Use Alt since Windows is annoying in IDEA
KatakanaHiragana: Alt_L
keymap:
- name: Global
remap:
# Underscore without Shift
RO: Shift-RO
# SKK hack for Chrome
C-j: C-m
- name: Default (Nocturn, etc.)
wm_class:
not: [Google-chrome, Slack, Gnome-terminal, jetbrains-idea]
remap:
# Emacs basic
C-b: left
C-f: right
C-p: up
C-n: down
# Emacs word
Super-b: C-left
Super-f: C-right
# Emacs lines
C-a: home # TODO: Alt-C-a
C-e: end # TODO: Alt-C-e
C-k: [Shift-end, backspace] # TODO: Alt-C-k
# Alt -> Ctrl
Super-a: C-a
Super-z: C-z
Super-x: C-x
Super-c: C-c
Super-v: C-v
Super-w: C-w
Super-t: C-t
Super-l: C-l
# actually these are vim insert mode bindings, but compatible with shell
C-w: [C-Shift-left, delete]
C-d: delete
Super-d: C-delete
- name: IDEA (modified from Default)
wm_class:
only: jetbrains-idea
remap:
# Emacs basic
# C-b: left # for Vim
# C-f: right # for Vim
C-p: up
C-n: down
# Emacs word
Super-b: C-left
Super-f: C-right
# Emacs lines
C-a: home # TODO: Alt-C-a
C-e: end # TODO: Alt-C-e
C-k: [Shift-end, backspace] # TODO: Alt-C-k
# Alt -> Ctrl
M-a: C-a
M-z: C-z
M-x: C-x
#M-c: C-c # use C-c for Esc, M-c for copy
#M-v: C-v # use C-v for Vim, M-v for paste
#M-w: C-w # avoid conflict with prefix
M-t: C-t
M-l: C-l
# actually these are vim insert mode bindings, but compatible with shell
# C-w: [C-Shift-left, delete]
C-d: delete
Super-d: C-delete
# workaround prefix key bug
M-r:
remap:
'3': C-M-3
'0': C-M-0
# workaround
C-c: Esc
- name: Chrome, Slack (modified from Default)
wm_class:
only: [Google-chrome, Slack]
remap:
# Emacs basic
C-b: left
C-f: right
C-p: up
C-n: down
# Emacs word
Super-b: C-left
Super-f: C-right
# Emacs lines
C-a: home
C-e: end
C-k: [Shift-end, backspace]
# Alt -> Ctrl
Super-a: C-a
Super-z: C-z
Super-x: C-x
Super-c: C-c
Super-v: C-v
Super-w: C-w
Super-t: C-t
Super-l: C-l
# actually these are vim insert mode bindings, but compatible with shell
C-w: [C-Shift-left, delete]
# Tabs
Super-o: C-Shift-tab
Super-p: C-tab
C-d: delete
Super-d: C-delete
- name: Tab changes + Alt-Enter simulation
wm_class:
not: [Gnome-terminal, Nocturn]
remap:
Super-o: C-Shift-tab
Super-p: C-tab
Super-Enter: M-Enter
- name: Google Search
wm_class:
only: Google-chrome
remap:
Super-s: C-f
- name: Terminal
wm_class:
only: Gnome-terminal
remap:
Super-o: M-o
Super-p: M-p
Super-j: M-j
Super-k: M-k
Super-r: M-r
Super-b: M-b
Super-f: M-f
Super-d: M-d
Super-i: M-i
Super-w: M-w
Super-w: M-w
Super-t: M-t
Super-c: M-c
Super-v: M-v
- name: Nocturn
wm_class:
only: Nocturn
remap:
Super-j: M-j
Super-k: M-k
Super-o: M-o
Super-p: M-p
Super-Enter: Shift-Enter
- name: Slack
wm_class:
only: Slack
remap:
Super-n: C-k
Super-k: M-up
Super-j: M-down
C-M-k: Shift-Alt-up
C-M-j: Shift-Alt-down
Super-1: C-1
Super-2: C-2
Super-3: C-3
Super-4: C-4
Super-5: C-5
Super-6: C-6
Super-7: C-7
Super-8: C-8
Super-9: C-9