Created
June 29, 2020 21:08
-
-
Save johnlindquist/f62f5a6bc1657bc15cd5d44876328eef to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ;; rule [:period ["period-mode" 1] nil {:afterup ["period-mode" 0] :alone :period}] | |
| ;; |_____| |_______________| |_| |_________________________________________| | |
| ;; <from> <to> <conditions> <other options> | |
| ;;arstarstarst12340987arstarst | |
| {:default true | |
| :sim 50 :delay 200 :alone 500 :held 500 :simlayer-threshold 210 | |
| :froms | |
| {:yay {:key :a} | |
| :yak {:key :b} | |
| ; | |
| } | |
| :templates {:launch "osascript -e 'tell application \"%s\" to activate'" | |
| :open "open \"%s\"" | |
| :delay "osascript -e 'delay \"%s\"'" | |
| :open-a "open -a '%s'" | |
| :restream "osascript -e 'tell application \"Restream Chat\" to activate'" | |
| :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 ["net.telestream.screenflow9"] | |
| :Ableton ["com.ableton.live"] | |
| :code ["com.microsoft.VSCode"] | |
| :chrome ["com.google.Chrome"] | |
| :fcp ["com.apple.FinalCut"] | |
| ; | |
| } | |
| :modifiers {:s :left_shift | |
| :ro :right_option} | |
| :layers {; | |
| :caps_lock-mode {:key :caps_lock :alone [{:key :escape} | |
| {:set ["numbers" 0]} | |
| {:set ["symbols" 0]} | |
| ; | |
| ]} | |
| :tab-mode {:key :tab :alone {:key :tab}} | |
| ;; :spacebar-shift-mode {:key :spacebar :modi {:mandatory [:left_shift]}} | |
| ;12341234123412341234123412341234123412341234arstarstarstarstarstarstarst12341234arstarst | |
| ; | |
| } | |
| :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} | |
| :slash-mode {:key :slash} | |
| ;; :non_us_backslash_mode {:key :non_us_backslash} | |
| ; | |
| } | |
| ;; [:grave_accent_and_tilde | |
| ;; :a | |
| ;; nil | |
| ;; {:delayed {:invoked :b}}; | |
| ;; [:left_control :left_control nil {:alone :!CSm}] | |
| ;; [:left_command :left_command nil {:alone :!CSt}] | |
| ;; [:right_shift :right_shift nil {:alone :!Stab}] | |
| ;; [:right_alt :right_alt nil {:alone :!COp}] | |
| :main [; | |
| {:des "multitouch" | |
| :rules [;multitouch in Screenflow | |
| [:condi :Screenflow :multitouch_extension_finger_count_total] | |
| [:d [{:pkey :button1 :modi :left_shift} :!Cdelete_or_backspace]] | |
| [:condi :Ableton :multitouch_extension_finger_count_total] | |
| [:g [:button1 :button1]] | |
| [:q [:button1 :delete_or_backspace]] | |
| [:w :!COl] | |
| [:e :!Stab] | |
| [:r :!COp] | |
| [:a :left_option] | |
| [:left_shift [:button1 :delete_or_backspace]] | |
| ;; Ableton 2 | |
| [:condi :Ableton ["multitouch_extension_finger_count_total" 2]] | |
| [:a [:!Cl]] | |
| [:d [:!Ce]] | |
| [:f [:!CSt]] | |
| ;multitouch in VSCode | |
| [:condi :code :multitouch_extension_finger_count_total] | |
| [:spacebar :return_or_enter] | |
| [:condi :code ["multitouch_extension_finger_count_total" 2]] | |
| [:s [:button1 :f2]] | |
| [:condi :code ["multitouch_extension_finger_count_total" 3]] | |
| [:c :!Cslash] | |
| [:q [:button1 :!CSk]] | |
| [:left_command :left_command nil {:alone [:button1 :!Creturn_or_enter :tab]}] | |
| [:condi :code ["multitouch_extension_finger_count_total" 2]] | |
| [:q [:button1 :a]] | |
| :multitouch_extension_finger_count_total | |
| [:grave_accent_and_tilde :!Tgrave_accent_and_tilde] | |
| [:w :!Cw] | |
| [:e :!Ct] | |
| [:r :!Cl] | |
| [:a {:pkey :button1 :modi :left_option}] | |
| [:s :button2] | |
| [:d {:pkey :button1 :modi :left_shift}] | |
| ;Allow "a" to be left_option in other apps | |
| [:##f :button1] | |
| [:g {:pkey :button1 :modi :left_command}] | |
| [:z :!Cz] | |
| [:non_us_backslash :!CSz] | |
| [:x :!Cx] | |
| [:c :!Cc] | |
| [:v :!Cv] | |
| [:b :!Cb] | |
| [:condi ["multitouch_extension_finger_count_total" 2]] | |
| [:c [:button1 :!Cc]] | |
| [:v [:button1 :!Cv]] | |
| [:##f :button2] | |
| [:condi ["multitouch_extension_finger_count_total" 3]] | |
| [:a :!COleft_arrow] | |
| [:s :!Cleft_arrow] | |
| [:d :!Cright_arrow] | |
| [:f :!COright_arrow] | |
| [:condi ["multitouch_extension_finger_count_total" 4]] | |
| [:##f :return_or_enter] | |
| ;multitouch in Ableton | |
| ; | |
| ]} | |
| {:des "playground" | |
| :rules [; | |
| ;; [:left_shift :left_shift nil | |
| ;; [{:key :spacebar :modi :right_shift} :!Ospacebar] ;Launch Alfred | |
| ;; {:alone [:!Cc [:restream]] :delayed {:invoked :!Cv}}] | |
| ; | |
| ]} | |
| ;; {: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 "final cut pro" | |
| :rules [:fcp | |
| [{:pkey :button3} | |
| [:h {:pkey :button1}] | |
| {:afterup {:key :a}}] | |
| ;; [:left_command :left_command nil {:alone :!Cb}] | |
| ; | |
| ]} | |
| {:des "chrome" | |
| :rules [:chrome | |
| [:left_command :left_command nil {:alone [:!Cc [:c]]}] | |
| ;; [:grave_accent_and_tilde :a nil {:delayed {:invoked [:y] :canceled [:x]}}] | |
| ; | |
| ; | |
| ]} | |
| {:des "code" | |
| :rules [:code | |
| [:right_alt :right_alt nil {:alone :!Tt}] | |
| [:left_command :left_command nil {:alone :!Te}] | |
| ; | |
| ]} | |
| {:des "Screenflow" | |
| :rules [:Screenflow | |
| [{:pkey :button3} | |
| [:h {:pkey :button1}] | |
| :!thru | |
| {:afterup {:key :a}}] | |
| [{:pkey :button2} | |
| [{:pkey :button1 :modi :left_shift} :!Cdelete_or_backspace] | |
| :!thru] | |
| [:left_command :left_command nil {:alone [{:pkey :button1 :modi :left_shift} :!Cdelete_or_backspace]}] | |
| ; | |
| ; | |
| ] | |
| ; | |
| } | |
| {:des "Ableton" | |
| :rules [:Ableton | |
| [:left_control :left_control nil {:alone :!CSm}] | |
| ;; [:left_command :left_command nil {:alone :!CSt}] | |
| [:right_shift :right_shift nil {:alone :!Stab}] | |
| [:right_alt :right_alt nil {:alone :!COp}] | |
| [:grave_accent_and_tilde :!COb] | |
| [:tab :!COl] | |
| [:f1 :!C1] | |
| [:f2 :!C2] | |
| [:f3 :!C4] | |
| [:1 :!C1] | |
| [:2 :!C2] | |
| [:4 :!C4] | |
| ; | |
| ]} | |
| {:des "caps_lock alfred" | |
| :rules [:caps_lock-mode | |
| [:##caps_lock :##escape] | |
| ; | |
| ]} | |
| {:des "slash-mode" | |
| :rules [:slash-mode | |
| [:z :!Cz] | |
| [:x :!Cx] | |
| [:c :!Cc] | |
| [:v :!Cv] | |
| [:n :!Ck] | |
| [:t :!Ct] | |
| [:a :!Ca] | |
| ; | |
| ]} | |
| {:des "j-mode" | |
| :rules [:j-mode | |
| ;; [:a :!Cz] | |
| ;; [:s :!Cx] | |
| ;; [:d :!Cc] | |
| ;; [:f :!Cv] | |
| ;; [:g :!CSz] | |
| [:a :!CSOj] | |
| [:d :!CSOs] | |
| [:f :!CSOl] | |
| [:g [:!CSOl :!CSOs]] | |
| ; | |
| ]} | |
| {:des "caps_locks to set variables" | |
| :rules [:caps_lock-mode | |
| [:a :!Ospacebar] ;Launch Alfred | |
| ;; [{:key :spacebar :modi :right_shift} :!Ospacebar] ;Launch Alfred | |
| ;; [:j [:alfred "google" "com.johnlindquist.google"]] ;Search Google | |
| ;; [:j :!!g] ;Search Google | |
| [:f ["symbols" 1]] ;Search Google | |
| [:j ["numbers" 1]] ;Search Google | |
| ;; [:c [:alfred "code" "com.vivaxy.alfred-workflow.open-in-vscode" " "]] | |
| ;; [:f [:launch "iTerm"]] | |
| ;; [:f "open -n -a \"Visual Studio Code\" --args -n"] | |
| ;; [:d [:launch "Slack"]] | |
| ;; [: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 | |
| [:a :!Odelete_or_backspace] | |
| [:s :delete_or_backspace] | |
| [:d :delete_forward] | |
| [:f :!Odelete_forward] | |
| [:g :!Cdelete_forward] | |
| [:j :!CSk] | |
| ; | |
| ]} | |
| ; {:des "shell" | |
| ; :rules [[:!C1 ["touch ~/keyboard-shortcut-worked.js"]]] | |
| ; } | |
| {:des "homerow" | |
| :rules [:a-mode | |
| [:##f :left_option nil {:alone :!TShyphen}] | |
| [:##d :left_shift nil {:alone :!Thyphen}] | |
| [:##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] | |
| [:right_shift :!TSright_arrow] | |
| [:spacebar :!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 :!Shome] | |
| [:##o :!Send] | |
| [:##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] | |
| [:a ["numbers" 1]] ;123412349087arstarstarstta23412342341234123412341234arstarstarst | |
| ; | |
| ]} | |
| {:des "spacebar" | |
| :rules [:spacebar-mode | |
| [:right_shift [:spacebar :equal_sign :spacebar]] | |
| ; | |
| ]} | |
| {:des "symbols" | |
| :rules [:spacebar-mode | |
| ;; [:q [:spacebar :equal_sign :!Speriod :spacebar]] | |
| [:q [:!S9 :!S0 :equal_sign :!Speriod :spacebar]] | |
| [:e [:!S9 :!S9 :!S0 :equal_sign :!Speriod :spacebar :!Sopen_bracket :!Sclose_bracket :!S0 :left_arrow :left_arrow]] | |
| [:r :4] | |
| [:t :5] | |
| [:y :6] | |
| [:u :7] | |
| [:i :8] | |
| [:o :9] | |
| [:p :0] | |
| [:a :open_bracket] | |
| [:s :close_bracket] | |
| [:d :!S9] | |
| [:f :!S0] | |
| [:g [:spacebar :equal_sign :!Speriod :spacebar]] | |
| ;; [:g [:left_arrow :left_arrow :left_arrow]] ;()=> | |
| ;; [:h [:equal_sign :!Speriod]] ;()=>()=>{}()=>{} | |
| [:h [:equal_sign :!Sopen_bracket :!Sclose_bracket :left_arrow]] | |
| [:j :!Sopen_bracket] | |
| [:k :!Sclose_bracket] | |
| ; [:l :equal_sign] | |
| [:l :!Scomma] ; | |
| [:semicolon :!Speriod] | |
| [:quote [:equal_sign :!Squote :!Squote :left_arrow]] | |
| [:return_or_enter [:return_or_enter :!CSreturn_or_enter :tab]] | |
| ; | |
| ]} | |
| {: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 "variables" | |
| :rules [; | |
| ;; :!numbers | |
| ;; [[:g :h] ["numbers" 1]] | |
| ; | |
| :numbers | |
| ;; [[:g :h] ["numbers" 0]] | |
| ;; [:caps_lock : nil {:alone ["numbers" 0]}] ;arstrstarstrstaarstrstarst | |
| [:a :1] | |
| [:s :2] | |
| [:d :3] | |
| [:f :4]; | |
| [:g :5] | |
| [:h :6] | |
| [:j :7] | |
| [:k :8] | |
| [:l :9] | |
| [:semicolon :0] | |
| ; | |
| ] | |
| ; | |
| } | |
| {: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] | |
| ; | |
| ]} | |
| ; | |
| ; | |
| {:des ":non_us_backslash" | |
| :rules [[:non_us_backslash :!Cnon_us_backslash]] | |
| ; | |
| } | |
| ; | |
| ]} | |
| ;; ! | 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