Skip to content

Instantly share code, notes, and snippets.

@johnlindquist
Created May 4, 2020 04:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save johnlindquist/8027fdfa019de82d6a8519b85044d8bd to your computer and use it in GitHub Desktop.
Save johnlindquist/8027fdfa019de82d6a8519b85044d8bd to your computer and use it in GitHub Desktop.
{:default true
:sim 50 :delay 500 :alone 500 :held 500 :simlayer-threshold 210
:templates {:launch "osascript -e 'tell application \"%s\" to activate'"
:open "open \"%s\""
:open-a "open -a '%s'"
:alfred "osascript -e 'tell application \"Alfred 4\" to run trigger \"%s\" in workflow \"%s\" with argument \"%s\"'"
:km "osascript -e 'tell application \"Keyboard Maestro Engine\" to do script \"%s\"'"}
:applications {:Screenflow ["screenflow"]
:Ableton ["com.ableton.live"]
:code ["com.microsoft.VSCode"]
;
}
:modifiers {:s :left_shift
:ro :right_option}
:layers {;
:caps_lock-mode {:key :caps_lock :alone {:key :escape}}
:tab-mode {:key :tab :alone {:key :tab}}
;; :spacebar-shift-mode {:key :spacebar :modi {:mandatory [:left_shift]}}
;
}
:simlayers {;
:tab-mode {:key :tab}
:q-mode {:key :q}
:a-mode {:key :a}
:s-mode {:key :s}
:d-mode {:key :d}
:f-mode {:key :f}
:g-mode {:key :g}
:j-mode {:key :j}
:quote-mode {:key :quote}
:semicolon-mode {:key :semicolon :alone :o}
:spacebar-mode {:key :spacebar}
;
}
:main [;
;; {:des "numbers"
;; :rules [;
;; ;
;; [[:f :j] ["numbers" 0] :numbers]
;; [[:f :j] ["numbers" 1] :!numbers]
;; :numbers
;; [[:a :1]
;; [:s :2]
;; [:d :3]
;; [:f :4]
;; [:g :5]
;; [:h :6]
;; [:j :7]
;; [:k :8]
;; [:l :9]
;; [:semicolon :0]]
;; ;
;; ]}
;; {:des "Thru"
;; :rules [;
;; :!thru
;; [{:key :non_us_backslash} ["thru" 1]]
;; :thru
;; [{:key :non_us_backslash} ["thru" 0]]
;; ;
;; ]}jghasdfasdf§asdfasdfarstarst
;; {:des "qwerty"
;; :rules [;
;; :thru :qwerty
;; [{:key :tab} ["qwerty" 0]]
;; :thru
;; [{:key :tab} ["qwerty" 1]]
;; ;
;; ]}
{:des "code"
:rules [:code
;; [{:pkey :button2}
;; [{:pkey :button1} :!Cc :!Cgrave_accent_and_tilde :!Cv :!Cgrave_accent_and_tilde]
;; ;
;; ]
;
]}
{:des "Screenflow"
:rules [:Screenflow
[{:pkey :button3}
[:h {:pkey :button1}]
:!thru
{:afterup {:key :a}}]
[{:pkey :button2}
[{:pkey :button1 :modi :left_shift} :!Cdelete_or_backspace]
:!thru]
[:f :h :!thru]
[:z :!Cz :!thru]]
;
}
{:des "Ableton"
:rules [:Ableton
[:left_control :left_control nil {:alone :!CSm}]
[:left_command :left_command nil {:alone :!CSt}]
[:right_shift :right_shift nil {:alone :!COl}]
[:tab :!Stab]
;
]}
{:des "caps_lock alfred"
:rules [:caps_lock-mode
[:##caps_lock :##escape]
;
]}
{:des "j-mode"
:rules [:j-mode
[:a :!Cz]
[:s :!Cx]
[:d :!Cc]
[:f :!Cv]
[:g :!CSz]
;
]}
{:des "caps_lock-mode Launch Stuff"
:rules [:caps_lock-mode
[:a :!Ospacebar] ;Launch Alfred
[:t [:alfred "google" "net.deanishe.alfred-searchio"]] ;Search Google
[:c [:alfred "code" "com.vivaxy.alfred-workflow.open-in-vscode" " "]]
[:f [:launch "iTerm"]]
[:n [:alfred "kill" "com.ngreenstein.alfred-process-killer" "node"]]
[:1 [:alfred "1p" "com.johnlindquist.1p"]]
[:b [:launch " /Applications/Basecamp 3.app/Contents/MacOS/Basecamp 3"]]
;; [:a :1]
;; [:s :2]
;; [:d :3]
;; [:f :4]
;; [:g :5]
;; [:h :6]
;; [:j :7]
;; [:k :8]
;; [:l :9]
;; [:semicolon :0]
;
]}
;; {:des "spacebar-shift-mode"
;; :rules [[:condi :!Sspacebar-mode] ;!]{}a(]]]) ARSTAST(IE!@#$!@# !!!)
;; [:a :!S1]
;; [:s :!S2]
;; [:d :!S3]
;; [:f :!S4]
;; [:g :!S5]
;; [:h :!S6]
;; [:j :!S7]
;; [:k :!S8]
;; [:l :!S9]
;; [:semicolon :!S0]
;; ; TOARSNT$!@#$^)(& OIE NOI)
;; ]}
{:des "tab-mode"
:rules [:tab-mode
;
]}
{:des "q-mode macros"
:rules [:q-mode
;
]}
{:des "semicolon-mode delete"
:rules [:semicolon-mode
[:caps_lock :!Cdelete_or_backspace]
[:a :!Odelete_or_backspace]
[:s :delete_or_backspace]
[:d :delete_forward]
[:f :!Odelete_forward]
[:g :!Cdelete_forward]
;
]}
{:des "multitouch"
:rules [:multitouch_extension_finger_count_total
; [:spacebar :left_command]
; [:w :!Cw]
; [:##f :button1]
; [:##d :button2]
; [:##s :button3]
; [:z :!Cz]
; [:x :!Cx]
; [:c :!Cc]
; [:v :!Cv]
;
]}
; {:des "shell"
; :rules [[:!C1 ["touch ~/keyboard-shortcut-worked.js"]]]
; }
{:des "homerow"
:rules [:a-mode
[:##f :left_option]
[:##d :left_shift]
[:##s :left_command]
;; [:##n :delete_or_backspace]
;; [:##period :delete_forward]
[:##y :!Cleft_arrow]
[:##o :!Cright_arrow]
[:##h :left_arrow]
[:##j :down_arrow]
[:##k :up_arrow]
[:##l :right_arrow]
[:semicolon :!Tspacebar]
[:return_or_enter :!Creturn_or_enter]
[:p :!CTspacebar]
;; [:n :delete_or_backspace]
;; [:m :!Odelete_or_backspace]
;; [:period :!Odelete_forward]
;; [:comma :delete_forward]
[:left_shift :!TSright_arrow]
[:left_option :!TSleft_arrow]
;
]}
{:des "command mode"
:rules [:s-mode
[:##f :left_option]
[:##d :left_shift]
[:##y :home]
[:##o :end]
[:##h :!Cleft_arrow]
[:##j :!Cdown_arrow]
[:##k :!Cup_arrow]
[:##l :!Cright_arrow]
;
]}
{:des "shift mode"
:rules [:d-mode
[:##f :left_option]
[:##s :left_command]
[:##y :home]
[:##o :end]
[:##h :!Sleft_arrow]
[:##j :!Sdown_arrow]
[:##k :!Sup_arrow]
[:##l :!Sright_arrow]
;
]}
{:des "alt mode"
:rules [:f-mode
[:##d :left_shift]
[:##s :left_command]
[:##y :home]
[:##o :end]
[:##h :!Oleft_arrow]
[:##j :!Odown_arrow]
[:##k :!Oup_arrow]
[:##l :!Oright_arrow]
;
]}
{:des ":spacebar symbols"
:rules [:spacebar-mode
[:q [:spacebar :equal_sign :!Speriod :spacebar]]
[:w [:!S9 :!S0 :equal_sign :!Speriod :spacebar]]
[:e :3]
[:r :4]
[:t :5]
[:y :6]
[:u :7]
[:i :8]
[:o :9]
[:p :0]
[:a :open_bracket]
[:s :close_bracket]
[:d :!Sopen_bracket]
[:f :!Sclose_bracket]
;; [:g [:left_arrow :left_arrow :left_arrow]] ;()=>
;; [:h [:equal_sign :!Speriod]] ;()=>()=>{}()=>{}
[:j :!S9]
[:k :!S0]
; [:l :equal_sign]
[:l :!Scomma] ;
[:semicolon :!Speriod]
[:left_shift [:spacebar :equal_sign :spacebar]]
[:quote [:equal_sign :!Squote :!Squote :left_arrow]]
[:caps_lock [:equal_sign :!Sopen_bracket :!Sclose_bracket :left_arrow]]]}
{:des "taps"
:rules [;
; arst]a{}a]{}]a{()<><>)(<)(hdhdha]{}a]{}><)(d)}
[:##left_shift :left_shift nil {:alone :delete_or_backspace}]
[:##right_shift :right_shift nil {:alone :delete_forward}]
[:slash :right_command nil {:alone :slash}]
; [:z :right_command nil {:alone :z}]
]}
;; {:des "shortcuts"
;; :rules [;expand selection
;; [:!C1 "open https://roamresearch.com/#/app/johnlindquist"]
;; [:!C2 [:open-a "Visual Studio Code"]]
;; [:!C3 [:open-a "Day One"]]
;; [:!Ch "name"]]}
{:des "colemak"
:rules [;
:!qwerty ;
[:##e :f]
[:##r :p]
[:##t :g]
[:##y :j]
[:##u :l]
[:##i :u]
[:##o :y]
[:##p :semicolon]
[:##s :r]
[:##d :s]
[:##f :t]
[:##g :d]
[:##j :n]
[:##k :e]
[:##l :i]
[:##semicolon :o]
[:##n :k]]}
;
]}
;; ! | means mandatory
;; # | means optional
;; C | left_command
;; T | left_control
;; O | left_option
;; S | left_shift
;; F | fn
;; Q | right_command
;; W | right_control
;; E | right_option
;; R | right_shift
;; !! | mandatory command + control + optional + shift (hyper)
;;
;;
;;
;;
;;
;;
;; ## | optional any
;;
;;
;;
;;
;;
;;
;;
;; {:des "screenflow"
;; :rules [[:condi :Screenflow :screenflow-on]
;; [:f [{:pkey :button1 :modi :left_shift} :d]]
;; [{:pkey :button2} [{:pkey :button1 :modi :left_shift} :d]]
;; [:a :!Cz]
;; [:s {:mkey {:hwheel 255}}]
;; [:d {:mkey {:hwheel -255}}]
;; [:1 ["screenflow-on" 0]]
;; ;
;; [:condi :Screenflow :!screenflow-on]
;; [:1 ["screenflow-on" 1]]]}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment