Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
161 lines (154 sloc) 9.64 KB
{:profiles
{:Default {:default true
:sim 50
:delay 50
:alone 100
:held 50}}
:templates {:alfred "osascript -e 'tell application \"Alfred 3\" to run trigger \"%s\" in workflow \"%s\" with argument \"\"'"
:km "osascript -e 'tell application \"Keyboard Maestro Engine\" to do script \"%s\"'"
:beep "osascript -e 'beep'"}
:simlayers {
:f-mode {:key :f}
:o-mode {:key :o}
:h-mode {:key :h}
:z-mode {:key :z}
}
:devices {:apple-internal [{:vendor_id 1452 :product_id 635}]
:filco-bt [{:vendor_id 2652 :product_id 34050}]
; All QMK keyboards I own
:qmk [{:vendor_id 65261 :product_id 24672} ; Planck Rev3
{:vendor_id 65261 :product_id 24677} ; Planck Light
{:vendor_id 65261 :product_id 25700} ; Ergodox Infinity
{:vendor_id 64593 :product_id 88}]} ; Lily 58 Pro
:input-sources {:colemak {:input_source_id "com.apple.keylayout.Colemak"
:language "en"}}
:main [
; Non QMK Rules (Avoid modifier keys collide with QMK keebs)
{:des "Cmd -> Cmd / Underscore" :rules [:!qmk [:##left_command :left_command nil {:alone :!Shyphen}]]}
{:des "Unbind Delete (with beep)" :rules [:!qmk [:##delete_or_backspace [:beep]]]}
{:des "ROption -> Option / : (Colemak)" :rules [:colemak :!qmk :!filco-bt [:##right_option :right_option nil {:held :right_option :alone :!Sp}]]}
{:des "ROption -> Option / Delete (Filco)" :rules [:colemak :filco-bt [:##right_option :right_option nil {:held :right_option :alone :delete_or_backspace}]]}
; General
{:des "; <-> : (Colemak)" :rules [:colemak [:p :!Sp] [:!Sp :p]]}
{:des "Swap Option / Command on certain devices" :rules [
[:##left_command :left_option [:filco-bt]]
[:##left_option :left_command [:filco-bt] {:alone :!Shyphen}]]}
{:des "Caps -> Hyper / Esc" :rules [[:##caps_lock :!CTOleft_shift nil {:alone :escape}]]}
{:des "RCmd -> Delete" :rules [[:##right_command :delete_or_backspace]]}
{:des "LShift -> Shift / (" :rules [[:##left_shift :right_shift nil {:held :left_shift :alone :!S9}]]}
{:des "RShift -> Shift / )" :rules [[:##right_shift :left_shift nil {:held :right_shift :alone :!S0}]]}
{:des "LOption -> Option / Cmb+Tab" :rules [[:##left_option :left_option nil {:held :left_option :alone :!Ctab}]]}
{:des "F-L -> Delete Word" :rules [:f-mode [:l :!Odelete_or_backspace]]}
{:des "F-; -> Delete Line" :rules [:f-mode [:semicolon :!Cdelete_or_backspace]]}
; Delete mode with F+J
{:des "Delete <- F+J" :rules [[{:sim [:f :j]
:simo {:interrupt true
:dorder :insensitive
:uorder :insensitive
:afterup {:set ["delete-mode" 0]}}} [:delete_or_backspace {:set ["delete-mode" 1]}]]]}
{:des "Delmode F/J/K -> Delete" :rules [:delete-mode [:f :delete_or_backspace] [:j :delete_or_backspace] [:k :delete_or_backspace]]}
; SuperDuper Mode with S+D (Non-QMK)
{:des "SuperDuper <- S+D" :rules [:!qmk [{:sim [:s :d]
:simo {:interrupt true
:dorder :insensitive
:uorder :insensitive
:afterup {:set ["superduper-mode" 0]}}} {:set ["superduper-mode" 1]}]]}
{:des "SuperDuper H -> Left" :rules [:superduper-mode [:##h :left_arrow]]}
{:des "SuperDuper J -> Down" :rules [:superduper-mode [:##j :down_arrow]]}
{:des "SuperDuper K -> Up" :rules [:superduper-mode [:##k :up_arrow]]}
{:des "SuperDuper L -> Right" :rules [:superduper-mode [:##l :right_arrow]]}
{:des "SuperDuper F -> Delete" :rules [:superduper-mode [:##f :delete_or_backspace]]}
{:des "SuperDuper ; -> Forward Delete" :rules [:superduper-mode [:##semicolon :delete_forward]]}
{:des "SuperDuper I -> Prev Tab" :rules [:superduper-mode [:##i :!CSopen_bracket]]}
{:des "SuperDuper O -> Next Tab" :rules [:superduper-mode [:##o :!CSclose_bracket]]}
{:des "SuperDuper A -> Option" :rules [:superduper-mode [:##a :left_option]]}
{:des "SuperDuper V -> Shift" :rules [:superduper-mode [:##v :left_shift]]}
; H for Hyper
{:des "H for Hyper" :rules [:h-mode
[:a :!!a]
[:b :!!b]
[:c :!!c]
[:d :!!d]
[:e :!!e]
[:f :!!f]
[:g :!!g]
[:i :!!i]
[:j :!!j]
[:k :!!k]
[:l :!!l]
[:m :!!m]
[:n :!!n]
[:o :!!o]
[:p :!!p]
[:q :!!q]
[:r :!!r]
[:s :!!s]
[:t :!!t]
[:u :!!u]
[:v :!!v]
[:w :!!w]
[:x :!!x]
[:y :!!y]
[:z :!!z]
]}
; Swap ; with : (Colemak ; is P in Qwerty)
; {:des "[Colemak] Swap ; with :" :rules [:colemak [:p :!Sp]
; [:!Sp :p]]}
; Z for Dev Mode
; ,-----------------------------------------------------------------------------------.
; | | | - | + | ( | ) | |
; |------+------+------+------+------+-------------+------+------+------+------+------|
; | N/A | _ | [ | ] | { | } | |
; |------+------+------+------+------+------|------+------+------+------+------+------|
; | | = | | | < | > | ? | |
; |------+------+------+------+------+------+------+------+------+------+------+------
{:des "Z Dev Mode" :rules [:z-mode
[:u :hyphen]
[:i :!Sequal_sign] ; +
[:o :!S9] ; (
[:p :!S0] ; )
[:h :!Shyphen] ; _
[:j :open_bracket]
[:k :close_bracket]
[:l :!Sopen_bracket] ; {
[:semicolon :!Sclose_bracket] ; }
[:n :equal_sign]
[:m :!Sbackslash] ; |
[:comma :!Scomma] ; <
[:period :!Speriod] ; >
[:slash :!Sslash] ; ?
]}
; ThumbSense (rev 3) https://pqrs.org/osx/karabiner/complex_modifications/#thumbsense
{:des "ThumbSense Mode" :rules [[:c :!Cc ["multitouch_extension_finger_count_total" 1]]
[:v :!Cv ["multitouch_extension_finger_count_total" 1]]
[:f {:pkey :button1} ["multitouch_extension_finger_count_total" 1]]
[:j {:pkey :button1} ["multitouch_extension_finger_count_total" 1]]
[:spacebar {:pkey :button1} ["multitouch_extension_finger_count_total" 1]]
[:d {:pkey :button2} ["multitouch_extension_finger_count_total" 1]]
[:k {:pkey :button2} ["multitouch_extension_finger_count_total" 1]]
[:g :!Copen_bracket ["multitouch_extension_finger_count_total" 1]]
[:h :!Cclose_bracket ["multitouch_extension_finger_count_total" 1]]
[:w :!Cw ["multitouch_extension_finger_count_total" 1]]
]}
]
;; code won't read cheatsheet section
;; ! stand for mandatory
;; # stand for optional
;; C T O S for left command control optional shift
;; F for fn
;; need to prefix C T O S F with ! or #
:cheatsheet {:!Ca "command a" ;; mandatory left_command
:!Ta "control a" ;; mandatory left_control
:!Oa "option a"
:!Sa "shift a"
:#Sa "shift a" ;; keycode a, optional left_shift
:!CTOa "command control option a"
:!Cspacebar "command space"
:!Fa "fn a"
:##a "keycode a optional any"
:!!a "mandatory hyper(control command option shift) a "
:sample-configurations [
{:des "Caps lock mode / Esc" :rules [[:##caps_lock {:set ["caps-lock-mode" 1]} nil {:alone :escape :afterup {:set ["caps-lock-mode" 0]}}]]}
{:des "Caps vim navigation" :rules [:caps-lock-mode [:h :left_arrow] [:j :down_arrow] [:k :up_arrow] [:l :right_arrow]]}
]
}}
You can’t perform that action at this time.