Skip to content

Instantly share code, notes, and snippets.

@jonpants
Created July 5, 2017 04:27
Show Gist options
  • Save jonpants/1843a59b5aeb44ed07717a2d65b18364 to your computer and use it in GitHub Desktop.
Save jonpants/1843a59b5aeb44ed07717a2d65b18364 to your computer and use it in GitHub Desktop.
asus laptop keycode bindings (bindsym)
░░░░░░░░░░░█▀█░█▀▀░█░█░█▀▀░░░█░░░█▀█░█▀█░▀█▀░█▀█░█▀█░░░█░█░█▀▀░█░█░█▀▀░█▀█░█▀▄░█▀▀░█▀▀░░░░░░░░░░
░░░░░░░░░░░█▀█░▀▀█░█░█░▀▀█░░░█░░░█▀█░█▀▀░░█░░█░█░█▀▀░░░█▀▄░█▀▀░░█░░█░░░█░█░█░█░█▀▀░▀▀█░░░░░░░░░░
░░░░░░░░░░░▀░▀░▀▀▀░▀▀▀░▀▀▀░░░▀▀▀░▀░▀░▀░░░░▀░░▀▀▀░▀░░░░░▀░▀░▀▀▀░░▀░░▀▀▀░▀▀▀░▀▀░░▀▀▀░▀▀▀░░░░░░░░░░
by: jonpants (keybase.io/jonpants)
# LEGEND:
keycode ### = Keypress Key+FN -or- Key+Shift
# TOP ROW (key) (key+fn)
keycode 9 = Escape -
keycode 67 = F1 XF86Switch_VT_1
keycode 68 = F2 XF86Switch_VT_2
keycode 69 = F3 XF86Switch_VT_3
keycode 70 = F4 XF86Switch_VT_4
keycode 71 = F5 XF86Switch_VT_5
keycode 72 = F6 XF86Switch_VT_6
keycode 73 = F7 XF86Switch_VT_7
keycode 74 = F8 XF86Switch_VT_8
keycode 75 = F9 XF86Switch_VT_9
keycode 76 = F10 XF86Switch_VT_10
keycode 95 = F11 XF86Switch_VT_11
keycode 96 = F12 XF86Switch_VT_12
keycode 127 = Pause Break
keycode 107 = Print -
keycode 119 = Delete (keycode 118)
keycode 118 = Insert **(Fn+Delete)
keycode 110 = Home -
keycode 112 = Prior -
keycode 117 = Next -
keycode 115 = End -
# SECOND ROW (key) (key+shift)
keycode 49 = grave asciitilde
keycode 10 = 1 exclam
keycode 11 = 2 at
keycode 12 = 3 numbersign
keycode 13 = 4 dollar
keycode 14 = 5 percent
keycode 15 = 6 asciicircum
keycode 16 = 7 ampersand
keycode 17 = 8 asterisk
keycode 18 = 9 parenleft
keycode 19 = 0 parenright
keycode 20 = minus underscore
keycode 21 = equal plus
keycode 22 = BackSpace BackSpace
keycode 77 = Num_Lock (keycode 78)
keycode 78 = Scroll_Lock **(Fn+Num_Lock)
keycode 106 = KP_Divide (keycode 78 - duplicate of Fn+Num_Lock)
keycode 63 = KP_Multiply -
keycode 82 = KP_Subtract -
# THIRD ROW (key) (key+shift)
keycode 23 = Tab -
keycode 24 = q Q
keycode 25 = w W
keycode 26 = e E
keycode 27 = r R
keycode 28 = t T
keycode 29 = y Y
keycode 30 = u U
keycode 31 = i I
keycode 32 = o O
keycode 33 = p P
keycode 34 = bracketleft braceleft
keycode 35 = bracketright braceright
keycode 51 = backslash brace
numlock: -on- -off-
keycode 79 = KP_7 KP_Home
keycode 80 = KP_8 KP_Up
keycode 81 = KP_9 KP_Prior
keycode 86 = KP_Add KP_Add
# FOURTH ROW (key) (key+shift)
keycode 66 = Caps_Lock -
keycode 38 = a A
keycode 39 = s S
keycode 40 = d D
keycode 41 = f F
keycode 42 = g G
keycode 43 = h H
keycode 44 = j J
keycode 45 = k K
keycode 46 = l L
keycode 47 = semicolon colon
keycode 48 = apostrophe quotedbl
keycode 36 = Return -
numlock: -on- -off-
keycode 83 = KP_4 KP_Left
keycode 84 = KP_5 KP_Begin
keycode 85 = KP_6 KP_Right
keycode 86 = KP_Add KP_Add
# FIFTH ROW (key) (key+shift)
keycode 50 = Shift_L -
keycode 52 = z Z
keycode 53 = x X
keycode 54 = c C
keycode 55 = v V
keycode 56 = b B
keycode 57 = n N
keycode 58 = m M
keycode 59 = comma less
keycode 60 = period greater
keycode 61 = slash question
keycode 62 = Shift_R -
keycode 111 = Up (keycode 174)
keycode 174 = XF86AudioStop (Fn+174)
numlock: -on- -off-
keycode 87 = KP_1 KP_End
keycode 88 = KP_2 KP_Down
keycode 89 = KP_3 KP_Next
keycode 104 = KP_Enter XF86Calculator
# SIXTH ROW (key) (key+shift)
keycode 37 = Control_L -
-- Fn Key has no keycode (see below) --
keycode 133 = Super_L -
keycode 64 = Alt_L -
keycode 65 = space -
keycode 108 = Alt_R -
keycode 135 = Menu -
keycode 105 = Control_R -
keycode 113 = Left (keycode 173)
keycode 173 = XF86AudioPrev (Fn+173)
keycode 116 = Down (keycode 172)
keycode 172 = XF86AudioPlay (Fn+172)
keycode 114 = Right (keycode 171)
keycode 171 = XF86AudioNext (Fn+171)
numlock: -on- -off-
keycode 90 = KP_0 KP_Insert
keycode 91 = KP_Decimal KP_Delete
keycode 104 = KP_Enter XF86Calculator
# Notes from i3wm's documentation
# (http://i3wm.org/docs/userguide.html)
# -------------------------------
A keyboard binding makes i3 execute a command upon pressing a specific key. i3 allows you
to bind either on keycodes or on keysyms (you can also mix your bindings, though i3 will
not protect you from overlapping ones).
A keysym (key symbol) is a description for a specific symbol, like "a" or "b", but also
more strange ones like "underscore" instead of "_". These are the ones you use in Xmodmap
to remap your keys. To get the current mapping of your keys, use 'xmodmap -pke'. To
interactively enter a key and see what keysym it is configured to, use 'xev'. Keycodes
do not need to have a symbol assigned (handy for custom vendor hotkeys on some notebooks)
and they will not change their meaning as you switch to a different keyboard layout
(such as when using xmodmap).
Syntax:
# bindsym
$ bindsym [--release] [<Group>+][<Modifiers>+]<keysym> command
# bindcode
$ bindcode [--release] [<Group>+][<Modifiers>+]<keycode> command
Examples:
# Fullscreen
$ bindsym $mod+f fullscreen toggle
# Restart
$ bindsym $mod+Shift+r restart
# Notebook-specific hotkeys
$ bindcode 214 exec --no-startup-id /home/michael/toggle_beamer.sh
# Simulate ctrl+v upon pressing $mod+x
$ bindsym --release $mod+x exec --no-startup-id xdotool key --clearmodifiers ctrl+v
# Take a screenshot upon pressing $mod+x (select an area)
$ bindsym --release $mod+x exec --no-startup-id import /tmp/latest-screenshot.png
Available Modifiers:
# See xmodmap(1) for more details and usage
Mod1-Mod5, Shift, Control
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment