First, thanks for this great project! I hope it will eventually replace Barrier in my workflow.
This patch should smooth out some of the edge cases that come up when binding switch to a combination of keys.
However, I'm still getting some counterintuitive behavior: I use LeftMeta + RightMeta to switch, and if I hold LeftMeta on client 0 and then hit RightMeta, I switch to client 1, and client 1 receives a RightMeta down event. But client 1 never gets a LeftMeta down event, even if LeftMeta is still held.
I don't think there's an easy fix to this problem. Maybe rkvm could keep track of the state of the keyboard on each client, and when switching, send any events needed to sync the state? Could be a bit out of scope.
First, thanks for this great project! I hope it will eventually replace Barrier in my workflow.
This patch should smooth out some of the edge cases that come up when binding switch to a combination of keys.
However, I'm still getting some counterintuitive behavior: I use LeftMeta + RightMeta to switch, and if I hold LeftMeta on client 0 and then hit RightMeta, I switch to client 1, and client 1 receives a RightMeta down event. But client 1 never gets a LeftMeta down event, even if LeftMeta is still held.
I don't think there's an easy fix to this problem. Maybe rkvm could keep track of the state of the keyboard on each client, and when switching, send any events needed to sync the state? Could be a bit out of scope.