Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clique and mouse movement update #630

Open
wants to merge 12 commits into
base: V3.0
Choose a base branch
from

Conversation

ReFil
Copy link
Collaborator

@ReFil ReFil commented Jan 17, 2025

What's changed:

This change updates the advantage 360 Pro to a newer version of ZMK, incorporating support for mouse movement behaviors, as well as the ZMK Studio / Kinesis Clique real time keymap editing system. Furthermore a number of additional bugfixes and changes have been implemented to improve the user experience

Additional information on Clique can be found here: https://kinesis-ergo.com/360p-clique-upgrade/

Why has this change been implemented:

This adds mouse movement support into the Advantage 360 Pro as well as rectifying several outstanding bugs

Should fix #438 #506 #510 and #622

What (if any) actions must a user take after this change:

The addition of the &studio_unlock behavior into the keymap may introduct git conflicts that require manual resolution

@wc356
Copy link

wc356 commented Jan 18, 2025

I was able to change the mouse's–movement speed, movement acceleration, scrolling speed–but wasn't successful in changing the scroll acceleration with these behaviors set in config/adv360.keymap:

#define ZMK_POINTING_DEFAULT_MOVE_VAL 1200  // default: 600
#define ZMK_POINTING_DEFAULT_SCRL_VAL 20    // default: 10
#include <dt-bindings/zmk/pointing.h>

/ {
    behaviors {
    
      ...
      
      mmv_no_acc: mouse_move {
          compatible = "zmk,behavior-input-two-axis";
          label = "Mouse Move No Acceleration";
          #binding-cells = <1>;
          x-input-code = <INPUT_REL_X>;
          y-input-code = <INPUT_REL_Y>;
          time-to-max-speed-ms = <0>;
          acceleration-exponent = <0>;
      };

      msc_no_acc: mouse_scroll {
          compatible = "zmk,behavior-input-two-axis";
          label = "Mouse Scroll No Acceleration";
          #binding-cells = <1>;
          x-input-code = <INPUT_REL_HWHEEL>;
          y-input-code = <INPUT_REL_WHEEL>;
          time-to-max-speed-ms = <0>;
          acceleration-exponent = <0>;
      };
    };

    keymap {
        ...
        &msc_no_acc SCRL_LEFT &msc_no_acc SCRL_UP &msc_no_acc SCRL_DOWN &msc_no_acc SCRL_RIGHT
        &mmv_no_acc MOVE_LEFT &mmv_no_acc MOVE_UP &mmv_no_acc MOVE_DOWN &mmv_no_acc MOVE_RIGHT
        ...
    }

I'm wondering if my configuration is misconfigured (highly likely, I'm new at this) or if the mouse scroll acceleration isn't working as intended?

@AntoniMarcinek
Copy link

After merging my config with these changes and loading the new firmware, when I click mod+hotkey 4, I get battery level indication for the left half, but not for the right. @ReFil do you have any idea what might be going on?

@kbrah kbrah mentioned this pull request Jan 23, 2025
@jmarais
Copy link

jmarais commented Jan 28, 2025

I Just want to add I tried this branch because of the left-right connect issue from: #510

This branch PolarityWorks:clique-update seems to resolve that, additionally the clique keymap hot-config is very nice using the webui.

I am not sure if this is the correct place to mention this but I noticed that my keyboard does not want to wake from deep sleep anymore using this branch. The only config difference I have is the following:

diff --git a/config/adv360.conf b/config/adv360.conf
new file mode 100644
index 0000000..24e2ee1
--- /dev/null
+++ b/config/adv360.conf
@@ -0,0 +1,7 @@
+# Configure deep sleep mode:
+CONFIG_ZMK_SLEEP=y
+# 60mins
+CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=3600000

And after 1 hour, I cannot wake either left/right halve by pressing/long pressing/spamming buttons. I have to use the power switched on both sides to restart the devices.

I looked at the zmk docs and at the V3 branch and do not notice any other difference regarding sleep.

Is this an issue on my end or something that changed with the zmk version?

@ReFil
Copy link
Collaborator Author

ReFil commented Jan 29, 2025

@AntoniMarcinek That issue should now be solved if you update your config repo
@jmarais The latest commit should fix that problem too

@jmarais
Copy link

jmarais commented Jan 29, 2025

@ReFil Thanks. I tested it and it is waking again.

Question: I did noticed the wakeup source section in the low power state docs, is that a new addition to zmk? Because I do not see that either left.dt or right.dts is configure as a wakup source on the V3 branch.

@ReFil
Copy link
Collaborator Author

ReFil commented Jan 29, 2025

Yes, it's a relatively recent requirement for waking up from deep sleep. I believe it's been a requirement since soft-off functionality was merged into upstream ZMK

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Keyboard halves don't connect to each other after PC wakes up from sleep
4 participants