yqrashawn / GokuRakuJoudo

config karabiner with ease
GNU General Public License v3.0
1.2k stars 123 forks source link

Goku not working #244

Open sgmalik opened 6 months ago

sgmalik commented 6 months ago

when I run the goku command, I get this error: goku -d --dry-run-all Exception in thread "main" com.fasterxml.jackson.core.JsonParseException: Unexpected character (';' (code 59)): expected a valid value (JSON String, Number, Array, Object or token 'null', 'true' or 'false') at [Source: (PushbackReader); line: 1, column: 2] at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:2337) at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:710) at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:635) at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddValue(ReaderBasedJsonParser.java:1952) at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:781) at cheshire.parse$parse.invokeStatic(parse.clj:90) at cheshire.parse$parse.invoke(parse.clj:88) at cheshire.core$parse_stream.invokeStatic(core.clj:252) at cheshire.core$parse_stream.invoke(core.clj:234) at cheshire.core$parse_stream.invokeStatic(core.clj:249) at cheshire.core$parse_stream.invoke(core.clj:234) at karabiner_configurator.misc$load_json.invokeStatic(misc.clj:57) at karabiner_configurator.misc$load_json.invoke(misc.clj:53) at karabiner_configurator.core$update_to_karabiner_json.invokeStatic(core.clj:87) at karabiner_configurator.core$update_to_karabiner_json.doInvoke(core.clj:83) at clojure.lang.RestFn.invoke(RestFn.java:439) at karabiner_configurator.core$parse.invokeStatic(core.clj:138) at karabiner_configurator.core$parse.doInvoke(core.clj:130) at clojure.lang.RestFn.invoke(RestFn.java:439) at karabiner_configurator.core$_main.invokeStatic(core.clj:229) at karabiner_configurator.core$_main.doInvoke(core.clj:224) at clojure.lang.RestFn.applyTo(RestFn.java:137) at karabiner_configurator.core.main(Unknown Source)

when I run brew services start goku, I get this error: Bootstrap failed: 5: Input/output error Try re-running the command as root for richer errors. Error: Failure while executing; /bin/launchctl bootstrap gui/501 /Users/suryamalik/Library/LaunchAgents/homebrew.mxcl.goku.plist exited with 5.

this is the code that I have added into the .edn file: { :devices { :macbook-keyboard [{:vendor_id 0 :product_id 0}] } :main, [ {:des "Disable <Super+Shift+V> (sysdiagnose)" :rules [ [:!QWES#CTOv :!Cf19] [:!CTOS#QWEv :!Cf19] ]},

    {:des, "Yabai keybinds", :rules [
        ;; super + m: focus on master
        [:!CTO#QWEm "/opt/homebrew/bin/yabai -m window --focus east"]
        [:!QWE#CTOm "/opt/homebrew/bin/yabai -m window --focus east"]
        ;; super + shift + m: move window to master
        [:!CTOS#QWEm "/opt/homebrew/bin/yabai -m window --swap east"]
        [:!QWES#CTOm "/opt/homebrew/bin/yabai -m window --swap east"]
        ;; super + shift + j: move window down
        [:!CTOS#QWEj "/opt/homebrew/bin/yabai -m window --swap next || /opt/homebrew/bin/yabai -m window --swap first"]
        [:!QWES#CTOj "/opt/homebrew/bin/yabai -m window --swap next || /opt/homebrew/bin/yabai -m window --swap first"]
        ;; super + shift + k: move window up
        [:!CTOS#QWEk "/opt/homebrew/bin/yabai -m window --swap prev || /opt/homebrew/bin/yabai -m window --swap last"]
        [:!QWES#CTOk "/opt/homebrew/bin/yabai -m window --swap prev || /opt/homebrew/bin/yabai -m window --swap last"]
        ;; super + h: resize window left
        [:!CTO#QWEh "/opt/homebrew/bin/yabai -m window --resize right:-50:0; /opt/homebrew/bin/yabai -m window --resize left:-50:0"]
        [:!QWE#CTOh "/opt/homebrew/bin/yabai -m window --resize right:-50:0; /opt/homebrew/bin/yabai -m window --resize left:-50:0"]
        ;; super + l: resize window right
        [:!CTO#QWEl "/opt/homebrew/bin/yabai -m window --resize right:50:0; /opt/homebrew/bin/yabai -m window --resize left:50:0"]
        [:!QWE#CTOl "/opt/homebrew/bin/yabai -m window --resize right:50:0; /opt/homebrew/bin/yabai -m window --resize left:50:0"]
        ;; super + shift + k: resize window top
        [:!CTOS#QWEl "/opt/homebrew/bin/yabai -m window --resize top:0:-50; /opt/homebrew/bin/yabai -m window --resize bottom:0:-50"]
        [:!QWES#CTOl "/opt/homebrew/bin/yabai -m window --resize top:0:-50; /opt/homebrew/bin/yabai -m window --resize bottom:0:-50"]
        ;; super + shift + h: resize window bottom
        [:!CTOS#QWEh "/opt/homebrew/bin/yabai -m window --resize bottom:0:50; /opt/homebrew/bin/yabai -m window --resize top:0:50"]
        [:!QWES#CTOh "/opt/homebrew/bin/yabai -m window --resize bottom:0:50; /opt/homebrew/bin/yabai -m window --resize top:0:50"]
        ;; super + f: toggle window fullscreen
        [:!CTO#QWEf "/opt/homebrew/bin/yabai -m window --toggle native-fullscreen"]
        [:!QWE#CTOf "/opt/homebrew/bin/yabai -m window --toggle native-fullscreen"]
        ;; super + z: minimize window
        [:!CTO#QWEz "/opt/homebrew/bin/yabai -m window --minimize"]
        [:!QWE#CTOz "/opt/homebrew/bin/yabai -m window --minimize"]

        ;; applications

        ;; super + w: open Warp Terminal
        [:!CTO#QWEw "open -a /Applications/Warp.app"]
        [:!QWE#CTOw "open -a /Applications/Warp.app"]
        ;; super + shift + w: open Warp Terminal in a new window
        [:!CTOS#QWEw "open -na /Applications/Warp.app"]
        [:!QWES#CTOw "open -na /Applications/Warp.app"]
    ]}

    {:des "Configure modifier keys on macbook keyboard" :rules [
        ;; left option -> left command
        [:##left_option :left_command :macbook-keyboard]

        ;; left cmd -> super
        [:##left_command :!TOleft_command :macbook-keyboard]

    ]}

]

}

I don't see any errors so please let me know if there is a fix

yqrashawn commented 6 months ago

Seems there's a syntax error in your karabiner.json file

sgmalik commented 6 months ago

It’s throwing an error on line 1 claiming there’s a semi colon when I removed my comment. I took this configuration from someone else and they have no problems with it.

yqrashawn commented 1 month ago

I mean the ~/.config/karabiner/karabiner.json file, not the edn file goku parses the json file first and write changes to it