# HG changeset patch # User Steve Losh # Date 1553616438 14400 # Node ID 7d4add588cc3f2ae69f204cccb1e9780cb7273c2 # Parent 188c44d7247c0c5b081975ed091c3ebd891cb084 More diff -r 188c44d7247c -r 7d4add588cc3 fish/config.fish --- a/fish/config.fish Thu Mar 14 18:51:47 2019 -0400 +++ b/fish/config.fish Tue Mar 26 12:07:18 2019 -0400 @@ -81,6 +81,7 @@ prepend_to_path "/usr/local/go/bin" prepend_to_path "/usr/local/sbin" prepend_to_path "/usr/games" +prepend_to_path "$HOME/.local/bin" prepend_to_path "$HOME/src/dotfiles/lisp/bin" prepend_to_path "$HOME/src/dotfiles/bin" prepend_to_path "$HOME/src/hg" diff -r 188c44d7247c -r 7d4add588cc3 lisprc --- a/lisprc Thu Mar 14 18:51:47 2019 -0400 +++ b/lisprc Tue Mar 26 12:07:18 2019 -0400 @@ -3,6 +3,10 @@ (when (probe-file quicklisp-init) (load quicklisp-init))) +(defun :ls (package) + (do-external-symbols (s package) + (print s))) + (setf *print-pretty* t *print-escape* t *print-right-margin* 100 @@ -10,16 +14,3 @@ *print-length* 1000 *print-level* 250) - -; (defun prefix= (needle haystack) -; (string= needle haystack :end2 (min (length haystack) (length needle)))) -; -; (defun https-please (url &rest args) -; ;; http://beta.quicklisp.org/ -; (if (prefix= "http://beta.quicklisp.org/" url) -; (setf url (concatenate 'string "https://beta.quicklisp.org:443/" -; (subseq url 26)))) -; (print `(fetching ,url)) -; (apply #'ql-http:http-fetch url args)) -; -; (setf ql-http:*fetch-scheme-functions* '(("http" . https-please))) diff -r 188c44d7247c -r 7d4add588cc3 stumpwm/dev.lisp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/stumpwm/dev.lisp Tue Mar 26 12:07:18 2019 -0400 @@ -0,0 +1,52 @@ +#S(GDUMP + :NUMBER 4 + :NAME "Default" + :TREE (((#S(FDUMP + :NUMBER 0 + :X 0 + :Y 0 + :WIDTH 835 + :HEIGHT 870 + :WINDOWS (16777221 27262981 50331649 52428805) + :CURRENT 16777221) + #S(FDUMP + :NUMBER 2 + :X 0 + :Y 870 + :WIDTH 835 + :HEIGHT 570 + :WINDOWS (60817413) + :CURRENT 60817413)) + (((#S(FDUMP + :NUMBER 1 + :X 835 + :Y 0 + :WIDTH 617 + :HEIGHT 720 + :WINDOWS NIL + :CURRENT NIL) + #S(FDUMP + :NUMBER 5 + :X 835 + :Y 720 + :WIDTH 617 + :HEIGHT 720 + :WINDOWS NIL + :CURRENT NIL)) + #S(FDUMP + :NUMBER 4 + :X 1452 + :Y 0 + :WIDTH 2348 + :HEIGHT 1440 + :WINDOWS (41943045 31457296) + :CURRENT 41943045)) + #S(FDUMP + :NUMBER 3 + :X 3800 + :Y 0 + :WIDTH 1320 + :HEIGHT 1440 + :WINDOWS NIL + :CURRENT NIL)))) + :CURRENT 4) \ No newline at end of file diff -r 188c44d7247c -r 7d4add588cc3 stumpwmrc --- a/stumpwmrc Thu Mar 14 18:51:47 2019 -0400 +++ b/stumpwmrc Tue Mar 26 12:07:18 2019 -0400 @@ -282,6 +282,16 @@ ;;;; Key Mapping -------------------------------------------------------------- +;;; Conventions: +;;; +;;; * Hyper-dir: move focus +;;; * Hyper-Shift-dir: move window +;;; * Hyper-Shift-Control-dir: swap window +;;; * Hyper-F*: hardware +;;; * Shift-F*: timers +;;; * Hyper-Super-*: layout +;;; * Hyper-*: miscellaneous + (defmacro define-top-keys (&body keyforms) `(progn ,@(loop :for form :in keyforms :collect `(define-key *top-map* @@ -292,11 +302,8 @@ (define-top-keys ;; application shortcuts ("H-m" "exec st") ("H-\\" "pass-personal") - ;; ("H-|" "pass-work") ("H-b" "browser") ("H-o" "spotify") - ("H-I" "intellij") - ("H-L" "libreoffice") ("H-q" "exec slock") ("H-y" "screenshot-area") ("H-Y" "screenshot-screen") @@ -354,6 +361,10 @@ ("H-F2" "exec amixer -q sset Master 5%-") ("H-F3" "exec amixer -q sset Master 5%+")) +(define-top-keys ;; layout + ("s-H-m" "restore-from-file ~/src/dotfiles/stumpwm/dev.lisp") + ("s-H-s" "restore-from-file ~/src/dotfiles/stumpwm/streaming.lisp")) + (define-top-keys ;; timers ("s-F9" "run-pop-timer") ("s-F10" "set-pop-timer")) diff -r 188c44d7247c -r 7d4add588cc3 uhk.json --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uhk.json Tue Mar 26 12:07:18 2019 -0400 @@ -0,0 +1,7991 @@ +{ + "userConfigMajorVersion": 4, + "userConfigMinorVersion": 0, + "userConfigPatchVersion": 0, + "deviceName": "My UHK", + "doubleTapSwitchLayerTimeout": 250, + "iconsAndLayerTextsBrightness": 35, + "alphanumericSegmentsBrightness": 10, + "keyBacklightBrightness": 0, + "mouseMoveInitialSpeed": 8, + "mouseMoveAcceleration": 128, + "mouseMoveDeceleratedSpeed": 5, + "mouseMoveBaseSpeed": 89, + "mouseMoveAcceleratedSpeed": 128, + "mouseScrollInitialSpeed": 20, + "mouseScrollAcceleration": 51, + "mouseScrollDeceleratedSpeed": 20, + "mouseScrollBaseSpeed": 60, + "mouseScrollAcceleratedSpeed": 50, + "moduleConfigurations": [], + "keymaps": [ + { + "isDefault": false, + "abbreviation": "COM", + "name": "Colemak for Mac", + "description": "Colemak is based on QWERTY, but it places the most frequent letters under the strongest fingers. This is the Mac version.", + "layers": [ + { + "modules": [ + { + "id": 0, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 36 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 37 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 38 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 39 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 45 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 46 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 42 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 15 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 24 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 28 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 51 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 47 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 48 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 49 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 13 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 17 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 12 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 18 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 52 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 40 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 11 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 14 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 16 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 54 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 55 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 56 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 44 + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 53 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 30 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 31 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 32 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 33 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 34 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 35 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 43 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 20 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 26 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 9 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 19 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 10 + }, + { + "keyActionType": "switchLayer", + "layer": "mouse", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 21 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 22 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 23 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 7 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 100 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 29 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 27 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 6 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 25 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 5 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 44 + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null + ] + }, + { + "id": 2, + "keyActions": [] + } + ] + }, + { + "modules": [ + { + "id": 0, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 65 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 66 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 67 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 68 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 69 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 76 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 74 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 82 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 77 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 76 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 70 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 71 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 72 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 75 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 80 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 81 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 79 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 73 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 78 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 101 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 58 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 59 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 60 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 61 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 62 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 63 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 80, + "modifierMask": 12 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 23, + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 79, + "modifierMask": 12 + }, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 57 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 80, + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 43, + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 79, + "modifierMask": 1 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 26, + "modifierMask": 8 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 205 + }, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 233 + }, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 184, + "modifierMask": 12 + }, + null, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 182 + }, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 234 + }, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 181 + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 226 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + null, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "QWR" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "DVO" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "COL" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "QWM" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "DVM" + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null, + null, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "keyActions": [ + null, + null, + null, + null, + null, + null, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "TES" + }, + { + "keyActionType": "mouse", + "mouseAction": "scrollLeft" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveUp" + }, + { + "keyActionType": "mouse", + "mouseAction": "scrollRight" + }, + null, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollDown" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveLeft" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveDown" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveRight" + }, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollUp" + }, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "leftClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "rightClick" + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + null, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "QWR" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "DVO" + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mouse", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "rightClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "middleClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "leftClick" + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "decelerate" + }, + { + "keyActionType": "mouse", + "mouseAction": "accelerate" + }, + null + ] + } + ] + } + ] + }, + { + "isDefault": false, + "abbreviation": "COL", + "name": "Colemak for PC", + "description": "Colemak is based on QWERTY, but it places the most frequent letters under the strongest fingers. This is the PC version.\n", + "layers": [ + { + "modules": [ + { + "id": 0, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 36 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 37 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 38 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 39 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 45 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 46 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 42 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 15 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 24 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 28 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 51 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 47 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 48 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 49 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 13 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 17 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 12 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 18 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 52 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 40 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 11 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 14 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 16 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 54 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 55 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 56 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 44 + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 53 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 30 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 31 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 32 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 33 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 34 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 35 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 43 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 20 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 26 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 9 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 19 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 10 + }, + { + "keyActionType": "switchLayer", + "layer": "mouse", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 21 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 22 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 23 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 7 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 100 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 29 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 27 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 6 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 25 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 5 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 44 + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null + ] + }, + { + "id": 2, + "keyActions": [] + } + ] + }, + { + "modules": [ + { + "id": 0, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 65 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 66 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 67 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 68 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 69 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 76 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 74 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 82 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 77 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 76 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 70 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 71 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 72 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 75 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 80 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 81 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 79 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 73 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 78 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 101 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 58 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 59 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 60 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 61 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 62 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 63 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 75, + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 23, + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 78, + "modifierMask": 1 + }, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 57 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 80, + "modifierMask": 5 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 43, + "modifierMask": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 79, + "modifierMask": 5 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 75, + "modifierMask": 3 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 26, + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 78, + "modifierMask": 3 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 205 + }, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 233 + }, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "system", + "scancode": 130 + }, + null, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 182 + }, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 234 + }, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 181 + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 226 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + null, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "QWR" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "DVO" + }, + null, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "QWM" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "DVM" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "COM" + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null, + null, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "keyActions": [ + null, + null, + null, + null, + null, + null, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "TES" + }, + { + "keyActionType": "mouse", + "mouseAction": "scrollLeft" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveUp" + }, + { + "keyActionType": "mouse", + "mouseAction": "scrollRight" + }, + null, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollUp" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveLeft" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveDown" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveRight" + }, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollDown" + }, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "leftClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "rightClick" + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + null, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "QWR" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "DVO" + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mouse", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "rightClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "middleClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "leftClick" + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "decelerate" + }, + { + "keyActionType": "mouse", + "mouseAction": "accelerate" + }, + null + ] + } + ] + } + ] + }, + { + "isDefault": false, + "abbreviation": "DVM", + "name": "Dvorak for Mac", + "description": "The Dvorak keyboard layout was designed with the goal of maximizing typing efficiency. This is the Mac version.", + "layers": [ + { + "modules": [ + { + "id": 0, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 36 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 37 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 38 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 39 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 47 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 48 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 42 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 10 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 6 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 21 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 15 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 56 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 46 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 49 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 9 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 11 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 23 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 17 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 22 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 45 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 40 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 7 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 5 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 16 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 26 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 25 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 29 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 44 + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 53 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 30 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 31 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 32 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 33 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 34 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 35 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 43 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 52 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 54 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 55 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 19 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 28 + }, + { + "keyActionType": "switchLayer", + "layer": "mouse", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 18 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 24 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 12 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 100 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 51 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 20 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 13 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 14 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 27 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 44 + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null + ] + }, + { + "id": 2, + "keyActions": [] + } + ] + }, + { + "modules": [ + { + "id": 0, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 65 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 66 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 67 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 68 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 69 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 76 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 74 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 82 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 77 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 76 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 70 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 71 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 72 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 75 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 80 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 81 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 79 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 73 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 78 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 101 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 58 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 59 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 60 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 61 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 62 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 63 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 80, + "modifierMask": 12 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 23, + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 79, + "modifierMask": 12 + }, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 57 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 80, + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 43, + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 79, + "modifierMask": 1 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 26, + "modifierMask": 8 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 205 + }, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 233 + }, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 184, + "modifierMask": 12 + }, + null, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 182 + }, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 234 + }, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 181 + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 226 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + null, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "QWR" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "DVO" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "COL" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "QWM" + }, + null, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "COM" + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null, + null, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollLeft" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveUp" + }, + { + "keyActionType": "mouse", + "mouseAction": "scrollRight" + }, + null, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "QWR" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "COL" + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollDown" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveLeft" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveDown" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveRight" + }, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollUp" + }, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "leftClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "rightClick" + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mouse", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "rightClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "middleClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "leftClick" + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "decelerate" + }, + { + "keyActionType": "mouse", + "mouseAction": "accelerate" + }, + null + ] + } + ] + } + ] + }, + { + "isDefault": false, + "abbreviation": "DVO", + "name": "Dvorak for PC", + "description": "The Dvorak keyboard layout was designed with the goal of maximizing typing efficiency. This is the PC version.", + "layers": [ + { + "modules": [ + { + "id": 0, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 36 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 37 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 38 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 39 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 47 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 48 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 42 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 10 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 6 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 21 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 15 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 56 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 46 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 49 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 9 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 11 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 23 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 17 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 22 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 45 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 40 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 7 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 5 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 16 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 26 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 25 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 29 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 44 + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 53 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 30 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 31 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 32 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 33 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 34 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 35 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 43 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 52 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 54 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 55 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 19 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 28 + }, + { + "keyActionType": "switchLayer", + "layer": "mouse", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 18 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 24 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 12 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 100 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 51 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 20 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 13 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 14 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 27 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 44 + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null + ] + }, + { + "id": 2, + "keyActions": [] + } + ] + }, + { + "modules": [ + { + "id": 0, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 65 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 66 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 67 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 68 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 69 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 76 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 74 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 82 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 77 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 76 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 70 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 71 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 72 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 75 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 80 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 81 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 79 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 73 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 78 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 101 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 58 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 59 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 60 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 61 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 62 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 63 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 75, + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 23, + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 78, + "modifierMask": 1 + }, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 57 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 80, + "modifierMask": 5 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 43, + "modifierMask": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 79, + "modifierMask": 5 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 75, + "modifierMask": 3 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 26, + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 78, + "modifierMask": 3 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 205 + }, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 233 + }, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "system", + "scancode": 130 + }, + null, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 182 + }, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 234 + }, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 181 + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 226 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + null, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "QWR" + }, + null, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "COL" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "QWM" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "DVM" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "COM" + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null, + null, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollLeft" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveUp" + }, + { + "keyActionType": "mouse", + "mouseAction": "scrollRight" + }, + null, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "QWR" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "COL" + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollUp" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveLeft" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveDown" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveRight" + }, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollDown" + }, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "leftClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "rightClick" + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mouse", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "rightClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "middleClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "leftClick" + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "decelerate" + }, + { + "keyActionType": "mouse", + "mouseAction": "accelerate" + }, + null + ] + } + ] + } + ] + }, + { + "isDefault": false, + "abbreviation": "QWM", + "name": "QWERTY for Mac", + "description": "QWERTY is the mother of all layouts. This is the Mac version.", + "layers": [ + { + "modules": [ + { + "id": 0, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 36 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 37 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 38 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 39 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 45 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 46 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 42 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 24 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 12 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 18 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 19 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 47 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 48 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 49 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 28 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 13 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 14 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 15 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 51 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 52 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 40 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 11 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 17 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 16 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 54 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 55 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 56 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 44 + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 53 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 30 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 31 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 32 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 33 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 34 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 35 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 43 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 20 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 26 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 21 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 23 + }, + { + "keyActionType": "switchLayer", + "layer": "mouse", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 22 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 7 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 9 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 10 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 100 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 29 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 27 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 6 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 25 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 5 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 44 + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null + ] + }, + { + "id": 2, + "keyActions": [] + } + ] + }, + { + "modules": [ + { + "id": 0, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 65 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 66 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 67 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 68 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 69 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 76 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 74 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 82 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 77 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 76 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 70 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 71 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 72 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 75 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 80 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 81 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 79 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 73 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 78 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 101 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 58 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 59 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 60 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 61 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 62 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 63 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 80, + "modifierMask": 12 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 23, + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 79, + "modifierMask": 12 + }, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 57 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 80, + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 43, + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 79, + "modifierMask": 1 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 26, + "modifierMask": 8 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 205 + }, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 233 + }, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 184, + "modifierMask": 12 + }, + null, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 182 + }, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 234 + }, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 181 + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 226 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + null, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "QWR" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "DVO" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "COL" + }, + null, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "DVM" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "COM" + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null, + null, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollLeft" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveUp" + }, + { + "keyActionType": "mouse", + "mouseAction": "scrollRight" + }, + null, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollDown" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveLeft" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveDown" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveRight" + }, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollUp" + }, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "leftClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "rightClick" + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mouse", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "rightClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "middleClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "leftClick" + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "decelerate" + }, + { + "keyActionType": "mouse", + "mouseAction": "accelerate" + }, + null + ] + } + ] + } + ] + }, + { + "isDefault": false, + "abbreviation": "QWR", + "name": "QWERTY for PC", + "description": "QWERTY is the mother of all layouts. This is the PC version.", + "layers": [ + { + "modules": [ + { + "id": 0, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 36 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 37 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 38 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 39 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 45 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 46 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 42 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 24 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 12 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 18 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 19 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 47 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 48 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 49 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 28 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 13 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 14 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 15 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 51 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 52 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 40 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 11 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 17 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 16 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 54 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 55 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 56 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 44 + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 53 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 30 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 31 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 32 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 33 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 34 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 35 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 43 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 20 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 26 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 21 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 23 + }, + { + "keyActionType": "switchLayer", + "layer": "mouse", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 22 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 7 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 9 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 10 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 100 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 29 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 27 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 6 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 25 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 5 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 44 + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null + ] + }, + { + "id": 2, + "keyActions": [] + } + ] + }, + { + "modules": [ + { + "id": 0, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 65 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 66 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 67 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 68 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 69 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 76 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 74 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 82 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 77 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 76 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 70 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 71 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 72 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 75 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 80 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 81 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 79 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 73 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 78 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 101 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 58 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 59 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 60 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 61 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 62 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 63 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 75, + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 23, + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 78, + "modifierMask": 1 + }, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 57 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 80, + "modifierMask": 5 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 43, + "modifierMask": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 79, + "modifierMask": 5 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 75, + "modifierMask": 3 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 26, + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 78, + "modifierMask": 3 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "keyActions": [ + null, + null, + null, + null, + null, + null, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "TES" + }, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 205 + }, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 233 + }, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "system", + "scancode": 130 + }, + null, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 182 + }, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 234 + }, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 181 + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 226 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + null, + null, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "DVO" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "COL" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "QWM" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "DVM" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "COM" + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null, + null, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollLeft" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveUp" + }, + { + "keyActionType": "mouse", + "mouseAction": "scrollRight" + }, + null, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollUp" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveLeft" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveDown" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveRight" + }, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollDown" + }, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "leftClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "rightClick" + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mouse", + "switchLayerMode": "holdAndDoubleTapToggle" + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "rightClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "middleClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "leftClick" + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "decelerate" + }, + { + "keyActionType": "mouse", + "mouseAction": "accelerate" + }, + null + ] + } + ] + } + ] + }, + { + "isDefault": true, + "abbreviation": "SJL", + "name": "SJL", + "description": "My personal mappings.", + "layers": [ + { + "modules": [ + { + "id": 0, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 36 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 37 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 38 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 39 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 45 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 46 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 42 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 24 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 12 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 18 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 19 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 47 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 48 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 49 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 28 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 13 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 14 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 15 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 51 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 52 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 40 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 11 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 17 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 16 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 54 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 55 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 56 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 44 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 72 + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "hold" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + } + ] + }, + { + "id": 1, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 53 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 30 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 31 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 32 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 33 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 34 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 35 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 43 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 20 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 26 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 21 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 23 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 57 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 22 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 7 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 9 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 10 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 100 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 29 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 27 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 6 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 25 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 5 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "toggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 101 + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "hold" + }, + null + ] + }, + { + "id": 2, + "keyActions": [] + } + ] + }, + { + "modules": [ + { + "id": 0, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 65 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 66 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 67 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 68 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 69 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 76 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 78 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 75 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 77 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 76 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 70 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 71 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 72 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 74 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 81 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 82 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 79 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 73 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 80 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 101 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + null, + null, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "hold" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + } + ] + }, + { + "id": 1, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 58 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 59 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 60 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 61 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 62 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 63 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 75, + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 23, + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 78, + "modifierMask": 1 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 57 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 57 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 80, + "modifierMask": 5 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 43, + "modifierMask": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 79, + "modifierMask": 5 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 29, + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 27, + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 6, + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 25, + "modifierMask": 8 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "switchLayer", + "layer": "mod", + "switchLayerMode": "hold" + }, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 42 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 84 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 85 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 86 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 42 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 95 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 37 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 97 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 87 + }, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 83 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 92 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 93 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 94 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 51 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 88 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 89 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 90 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 91 + }, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 44 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 98 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 99 + }, + null, + null + ] + }, + { + "id": 1, + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 57 + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "switchLayer", + "layer": "fn", + "switchLayerMode": "toggle" + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + null, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollDown" + }, + { + "keyActionType": "mouse", + "mouseAction": "scrollUp" + }, + { + "keyActionType": "mouse", + "mouseAction": "scrollRight" + }, + null, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollLeft" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveDown" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveUp" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveRight" + }, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "moveLeft" + }, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "leftClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "rightClick" + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + } + ] + }, + { + "id": 1, + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 57 + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "rightClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "middleClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "leftClick" + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "mouse", + "mouseAction": "accelerate" + }, + null + ] + } + ] + } + ] + }, + { + "isDefault": false, + "abbreviation": "TES", + "name": "Test", + "description": "This keymap is only used for factory testing purposes.", + "layers": [ + { + "modules": [ + { + "id": 0, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 36 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 37 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 38 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 39 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 45 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 46 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 42 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 24 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 12 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 18 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 19 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 47 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 48 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 49 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 28 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 13 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 14 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 15 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 51 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 52 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 87 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 11 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 17 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 16 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 54 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 55 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 56 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 94 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 85 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 95 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 96 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 97 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 98 + } + ] + }, + { + "id": 1, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 53 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 30 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 31 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 32 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 33 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 34 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 35 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 20 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 26 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 21 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 23 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 86 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 22 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 7 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 9 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 10 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 100 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 29 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 27 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 6 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 25 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 5 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 89 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 90 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 91 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 92 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 84 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 93 + }, + null + ] + }, + { + "id": 2, + "keyActions": [] + } + ] + }, + { + "modules": [ + { + "id": 0, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 65 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 66 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 67 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 68 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 69 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 76 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 74 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 82 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 77 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 76 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 70 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 71 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 72 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 75 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 80 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 81 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 79 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 73 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 78 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 101 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 58 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 59 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 60 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 61 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 62 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 63 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 41 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 75, + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 23, + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 78, + "modifierMask": 1 + }, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 57 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 80, + "modifierMask": 5 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 43, + "modifierMask": 4 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 79, + "modifierMask": 5 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 75, + "modifierMask": 3 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 26, + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "scancode": 78, + "modifierMask": 3 + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + null, + null, + null, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 205 + }, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 233 + }, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "system", + "scancode": 130 + }, + null, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 182 + }, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 234 + }, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 181 + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "media", + "scancode": 226 + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + null, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "QWR" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "DVO" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "COL" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "QWM" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "DVM" + }, + { + "keyActionType": "switchKeymap", + "keymapAbbreviation": "COM" + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + null, + null, + null, + null + ] + } + ] + }, + { + "modules": [ + { + "id": 0, + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollLeft" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveUp" + }, + { + "keyActionType": "mouse", + "mouseAction": "scrollRight" + }, + null, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollUp" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveLeft" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveDown" + }, + { + "keyActionType": "mouse", + "mouseAction": "moveRight" + }, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "scrollDown" + }, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 32 + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "leftClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "rightClick" + }, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 64 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 128 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 16 + } + ] + }, + { + "id": 1, + "keyActions": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "mouse", + "mouseAction": "rightClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "middleClick" + }, + { + "keyActionType": "mouse", + "mouseAction": "leftClick" + }, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 2 + }, + null, + null, + null, + null, + null, + null, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 1 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 8 + }, + { + "keyActionType": "keystroke", + "type": "basic", + "modifierMask": 4 + }, + null, + { + "keyActionType": "mouse", + "mouseAction": "decelerate" + }, + { + "keyActionType": "mouse", + "mouseAction": "accelerate" + }, + null + ] + } + ] + } + ] + } + ], + "macros": [ + { + "isLooped": true, + "isPrivate": true, + "name": "Go to UHK site in browser", + "macroActions": [ + { + "macroActionType": "key", + "action": "tap", + "type": "basic", + "scancode": 15, + "modifierMask": 1 + }, + { + "macroActionType": "text", + "text": "https://ultimatehackingkeyboard.com" + }, + { + "macroActionType": "key", + "action": "tap", + "type": "basic", + "scancode": 40 + } + ] + }, + { + "isLooped": false, + "isPrivate": true, + "name": "God mode in Doom", + "macroActions": [ + { + "macroActionType": "text", + "text": "iddqd" + } + ] + }, + { + "isLooped": false, + "isPrivate": true, + "name": "Type Silent Bob's address", + "macroActions": [ + { + "macroActionType": "text", + "text": "Silent Bob\n711-2880 Nulla St.\nMankato Mississippi 96522\n(257) 563-7401" + } + ] + } + ] +} \ No newline at end of file diff -r 188c44d7247c -r 7d4add588cc3 vim/vimrc --- a/vim/vimrc Thu Mar 14 18:51:47 2019 -0400 +++ b/vim/vimrc Tue Mar 26 12:07:18 2019 -0400 @@ -1,9 +1,6 @@ " .vimrc " Author: Steve Losh " Source: http://bitbucket.org/sjl/dotfiles/src/tip/vim/ -" -" This file changes a lot. I'll try to document pieces of it whenever I have -" a few minutes to kill. " Preamble ---------------------------------------------------------------- {{{ " @@ -257,6 +254,7 @@ silent! digr -. 8230 "U+2026=… HORIZONTAL ELLIPSIS silent! digr !, 8816 "U+2270=≰ NEITHER LESS-THAN NOR EQUAL TO silent! digr !. 8817 "U+2271=≱ NEITHER GREATER-THAN NOR EQUAL TO +silent! digr es 8337 "U+2091=ₑ SUBSCRIPT E silent! digr xs 8339 "U+2093=ₓ SUBSCRIPT X silent! digr ls 8343 "U+2097=ₗ SUBSCRIPT L silent! digr ms 8344 "U+2098=ₗ SUBSCRIPT M @@ -1407,6 +1405,7 @@ function! GetGoFold(lnum) let line = getline(a:lnum) let prev = getline(a:lnum-1) + let next = getline(a:lnum+1) if line =~# '\v^//' if prev =~# '\v^//' @@ -1418,8 +1417,28 @@ return '>1' elseif line =~#'\v^[})]$' return '1' + elseif line == "" && next =~#'\v^//' + " blank line before a comment. If the previous line is a comment, fold + " it with that. Otherwise don't fold it. Example: + " + " func x () { + " … + " } + " don't fold this one + " // foo --------------------- + " but DO fold this one into the header comment + " // some doc comment + " // with lines + " func y () … + if prev =~#'\v^//' + return '1' + else + return '0' + endif elseif line == "" && prev =~#'\v^[})]$' return '<1' + elseif line =~# '\v^\S' + return '0' else return '=' endif @@ -1438,6 +1457,8 @@ " this language is incredible au FileType go iabbrev ernil if err != nil {return nil, errjA + au FileType go iabbrev erstr if err != nil {return "", errjA + au FileType go iabbrev ererr if err != nil {return errjA au FileType go iabbrev erpan if err != nil {panic(err)jA augroup END