Skip to content

Instantly share code, notes, and snippets.

@yayiji
Last active September 7, 2022 15:07
Show Gist options
  • Save yayiji/90d4f199f6b4cf36e5116d448b180519 to your computer and use it in GitHub Desktop.
Save yayiji/90d4f199f6b4cf36e5116d448b180519 to your computer and use it in GitHub Desktop.
Oneshot Implementation by Karabiner-Elements
{:profiles
{:oneshot {:default true
:alone 300 ;
:held 150 ;
:delay 500 ; time after which the key press is delayed
:sim 50}} ; keys need to be pressed within this threshold to be considered simultaneous
:main [{:des "Symbol Mode"
:rules [:symbol-mode
[:q :grave_accent_and_tilde]
[:w :!Sgrave_accent_and_tilde]
[:e :slash]
[:r :backslash]
[:a :!Shyphen]
[:s :semicolon]
[:d :comma]
[:f :hyphen]]}
{:des "Symbol Mode delay"
:rules [:symbol-mode-delay
[:q :grave_accent_and_tilde]
[:w :!Sgrave_accent_and_tilde]
[:e :slash]
[:r :backslash]
[:a :!Shyphen]
[:s :semicolon]
[:d :comma]
[:f :hyphen]]}
{:des "Shift Mode"
:rules [:shift-mode
[:1 :!S1]
[:2 :!S2]
[:3 :!S3]
[:4 :!S4]
[:5 :!S5]
[:6 :!S6]
[:7 :!S7]
[:8 :!S8]
[:9 :!S9]
[:0 :!S0]
[:a :!Sa]
[:b :!Sb]
[:c :!Sc]
[:d :!Sd]
[:e :!Se]
[:f :!Sf]
[:g :!Sg]
[:h :!Sh]
[:i :!Si]
[:j :!Sj]
[:k :!Sk]
[:l :!Sl]
[:m :!Sm]
[:n :!Sn]
[:o :!So]
[:p :!Sp]
[:q :!Sq]
[:r :!Sr]
[:s :!Ss]
[:t :!St]
[:u :!Su]
[:v :!Sv]
[:w :!Sw]
[:x :!Sx]
[:y :!Sy]
[:z :!Sz]
[:comma :!Scomma]
[:period :!Speriod]
[:slash :!Sslash]
[:semicolon :!Ssemicolon]
[:quote :!Squote]
[:open_bracket :!Sopen_bracket]
[:close_bracket :!Sclose_bracket]
[:backslash :!Sbackslash]
[:return_or_enter :!Sreturn_or_enter]]}
{:des "Modes"
:rules [[:##semicolon [:right_shift ["shift-mode" 1]] nil
{:params {:delay 500}
:delayed {:invoked [["shift-mode" 0]]
:canceled [["shift-mode" 0]]}}]
[:left_shift [:left_shift ["shift-mode" 1]] nil
{:params {:delay 500}
:delayed {:invoked [["shift-mode" 0]]
:canceled [["shift-mode" 0]]}}]
[:##comma [["symbol-mode" 1] ["symbol-mode-delay" 1]] nil
{:afterup [["symbol-mode" 0]]
:params {:delay 500}
:delayed {:invoked ["symbol-mode-delay" 0] :canceled ["symbol-mode-delay" 0]}}]]}]}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment