{ :devices {:adv2 [{:vendor_id 10730 :product_id 258}]} :profiles {:Default {:default true :alone 200 :delay 500 :held 800 :sim 50}} :applications {:keykey ["^com\\.chekazuja\\.keykey$"], :kitty ["^net\\.kovidgoyal\\.kitty$"]} :input-sources {:en {:language "en"} :ru {:language "ru"}} :templates {:open "open -a '%s'"} :main [{:des "Backslash<->Open_Bracket on Advantage2" :rules [:adv2 [:open_bracket :!R5 [:ru :keykey]] [:##open_bracket :!R8 [:ru :keykey]] [:##open_bracket :backslash [:ru :!keykey]] [:##backslash :open_bracket :ru]]} {:des "Caps->English, LShift->Russian" :rules [[:##left_shift :left_shift nil {:alone {:input :ru}}] [:##caps_lock ["capskey" 1] nil {:alone {:input :en} :held :caps_lock :afterup ["capskey" 0]}]]} {:des "Tab as Hyper(⌘+⌥+^+⇧)" :rules [[:tab [:!!left_shift] [:!left_command] {:alone :tab}]]} {:des "Caps+T to start Kitty, Caps+B->Bing, Caps+G->Bard, Caps+O->Poe, Caps+P->ChatGPT4, Caps+␣->AllGPT" :rules [:capskey [:t [:open "/Applications/kitty.app"]] [:b [:open "/Users/anton/Applications/Brave Browser Apps.localized/Bing AI.app"]] [:g [:open "/Users/anton/Applications/Brave Browser Apps.localized/Bard.app"]] [:o [:open "/Users/anton/Applications/Brave Browser Apps.localized/Poe.app"]] [:p [:open "/Users/anton/Applications/Brave Browser Apps.localized/ChatGPT4.app"]] [:v [:open "/Users/anton/Applications/Brave Browser Apps.localized/Vikunja.app"]] [:spacebar [:open "/Users/anton/Applications/Brave Browser Apps.localized/GPT.app"]] ]} {:des "RShift->Comma" :rules [[:##right_shift :right_shift :ru {:alone :!R6}] [:##right_shift :right_shift :en {:alone :comma}]]}] } ;; this is a little bit weird, but it's convenient ;; the rule [:!Ca :!T1] ;; means from command a to control 1 ;; :!Ca is keycode :a and prefix a with !C ;; here's the definition ;; ! | 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 ;; P | caps_lock ;; !! | mandatory command + control + optional + shift (hyper) ;; ## | optional any