Skip to content

Instantly share code, notes, and snippets.

@inoperable
Last active October 15, 2020 13:58
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save inoperable/dbdd92ff0c5a1d100f15bf155484d618 to your computer and use it in GitHub Desktop.
Save inoperable/dbdd92ff0c5a1d100f15bf155484d618 to your computer and use it in GitHub Desktop.
xmodmap for apple / mode_switch ala hyper alternative for left-handed humans
! clear all level 1-5 key modifiers
clear Mod5
clear Mod4
clear Mod3
clear Mod2
clear Mod1
! clear current control key modifiers
clear Control
! clear and remove caps lock entirely
clear Lock
remove Lock = Caps_Lock
! pointer buttons
! ------------------------------------------------------------------------------------------------------------------------------------------|
! default primary/secondary mouse button, 2nd button is the middle mouse button [1|2|3]
! left click is button 1, right click is button 3, middle click is button 2
pointer = 1 2 3
! ------------------------------------------------------------------------------------------------------------------------------------------|
! swapped primary/secondary mouse button, 2nd button is the middle mouse button [3|2|1]
! left click is button 3, right click is button 1, middle click is button 2
pointer = 3 2 1
!
! all 8 levels are an overkill, but there are here for reference,
! i dont know how those can really used, or what modifier combinations map to level 6, 7 and 8
!
! | | | | | | | | | | | | | | | | |
! 1 2 3 4 5 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0
! | | | | | | | | |
! vim keycodes 1 2 3 4 5 6 7 8
keycode 30 = u U End End End End End End
keycode 31 = i I Next Next Next Next Next Next
keycode 32 = o O Prior Prior Prior Prior Prior Prior
keycode 33 = p P Home Home Home Home Home Home
keycode 43 = h H Left Left Left Left Left Left
keycode 44 = j J Down Down Down Down Down Down
keycode 45 = k K Up Up Up Up Up Up
keycode 46 = l L Right Right Right Right Right Right
! | | | | | | | | |
! vim keysym 1 2 3 4 5 6 7 8
keysym h = h H Left Left Left Left Left Left
keysym i = i I Next Next Next Next Next Next
keysym j = j J Down Down Down Down Down Down
keysym k = k K Up Up Up Up Up Up
keysym l = l L Right Right Right Right Right Right
keysym o = o O Prior Prior Prior Prior Prior Prior
keysym p = p P Home Home Home Home Home Home
keysym u = u U End End End End End End
! | | | | | | | | |
! custom keycodes 1 2 3 4 5 6 7 8
keycode 51 = bar backslash bar backslash bar backslash bar backslash
keycode 77 = Menu Menu Menu Menu Menu Menu Menu Menu
keycode 47 = colon semicolon colon semicolon colon semicolon colon semicolon
keycode 18 = 9 less 9 less 9 less 9 less
keycode 19 = 0 greater 0 greater 0 greater 0 greater
keycode 49 = asciitilde grave grave asciitilde asciitilde grave grave asciitilde
keycode 51 = bar backslash bar backslash bar backslash bar backslash
keycode 59 = comma parenleft comma parenleft comma parenleft comma parenleft
keycode 60 = period parenright period parenright period parenright period parenright
! | | | | | | | | |
! perma num-keypad 1 2 3 4 5 6 7 8
keycode 63 = KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply
keycode 79 = KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7
keycode 80 = KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8
keycode 81 = KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9
keycode 82 = KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract
keycode 83 = KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4
keycode 84 = KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5
keycode 85 = KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6
keycode 86 = KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add
keycode 87 = KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1
keycode 88 = KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2
keycode 89 = KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3
keycode 90 = KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0
keycode 91 = KP_Decimal KP_Decimal KP_Decimal KP_Decimal KP_Decimal KP_Decimal KP_Decimal KP_Decimal
keycode 91 = KP_Decimal KP_Decimal KP_Decimal KP_Decimal KP_Decimal KP_Decimal KP_Decimal KP_Decimal
keycode 104 = KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter
keycode 106 = KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide
! | | | | | | | | |
! mod keysyms 1 2 3 4 5 6 7 8
keycode 22 = BackSpace BackSpace BackSpace BackSpace BackSpace BackSpace BackSpace BackSpace
keycode 77 = Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock
keycode 169 = F13 F13 F13 F13 F13 F13 F13 F13
keycode 191 = F14 F14 F14 F14 F14 F14 F14 F14
keycode 192 = F15 F15 F15 F15 F15 F15 F15 F15
keycode 193 = F16 F16 F16 F16 F16 F16 F16 F16
keycode 194 = F17 F17 F17 F17 F17 F17 F17 F17
keycode 195 = F18 F18 F18 F18 F18 F18 F18 F18
keycode 196 = F19 F19 F19 F19 F19 F19 F19 F19
keycode 197 = F20 F20 F20 F20 F20 F20 F20 F20
keycode 118 = Insert Insert Insert Insert Insert Insert Insert Insert
! | | | | | | | | |
! mod keycodes 1 2 3 4 5 6 7 8
!
keycode 66 = Mode_switch Mode_switch Mode_switch Mode_switch Mode_switch Mode_switch Mode_switch Mode_switch
keycode 37 = Meta_L Meta_L Meta_L Meta_L Meta_L Meta_L Meta_L Meta_L
keycode 133 = Control_L Control_L Control_L Control_L Control_L Control_L Control_L Control_L
keycode 64 = Alt_L Alt_L Alt_L Alt_L Alt_L Alt_L Alt_L Alt_L
keycode 108 = Meta_R Meta_R Meta_R Meta_R Meta_R Meta_R Meta_R Meta_R
keycode 134 = Control_R Control_R Control_R Control_R Control_R Control_R Control_R Control_R
keycode 105 = Alt_R Alt_R Alt_R Alt_R Alt_R Alt_R Alt_R Alt_R
! | | | | | | | | |
! modifiers re-assignment 1 2 3 4 5 6 7 8
add Control = Control_L Control_R
add Mod1 = Alt_L Alt_R
add Mod2 = Meta_L Meta_R
add Mod3 = Hyper_L Hyper_R
add Mod4 = Super_L Super_R
add Mod5 = Num_Lock
! | | | | | | | | |
! | 1 2 3 4 5 6 7 8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment