joshgoebel / keyszer

a smart, flexible keymapper for X11 (a fork/reboot of xkeysnail )
Other
70 stars 14 forks source link

Procedure for testing/comparing this branch vs others #14

Closed RedBearAK closed 2 years ago

RedBearAK commented 2 years ago

@joshgoebel

Readme says the installation instructions aren't correct yet. I just want to establish the best way to quickly go back and forth between this branch and (in my case) the Kinto branch.

When I was messing with the mainline branch all I had to do was sudo pip3 install --upgrade xkeysnail, which would pull down the normal xkeysnail and replace the patched Kinto version. Then I would just reinstall Kinto to revert back to the "held keys" patched version and get everything back to normal.

But, this is a destructive process. Not only does the Kinto install overwrite any customized config file with the default, but on my main system I'm running xkeysnail as user rather than root, and the Kinto installer would attempt to set up xkeysnail to run from the systemd service file that runs xkeysnail as root, which I would have to disable each time.

So I want to use this thread to record the commands needed to download and install this branch, and then easily download and reinstall the Kinto patched branch without re-running the entire Kinto installer. Right now I'm not exactly sure how to do that, but I should be able to pull the right command out of the setup.py file to pull the right branch down and install it.

Will add to this later.

joshgoebel commented 2 years ago

Suspend is how we fix #9... I'm not sure how I feel about reading all mouse events also just so we can capture mouse buttons, ugh... what a hard problem.

RedBearAK commented 2 years ago

Does appear to work if I hold for at least a second.

But that is not an expected behavior based on the way macOS or Kinto react. Not sure how well I could live with that if it's an essential feature of the way you're doing things.

joshgoebel commented 2 years ago

Read #9... I suppose we could start having flags - so people could pick and choose what type of broken they want, but I'd prefer to have no broken at all.

The problem is when you hit a modifier we have to wait until we know what you want to do with it (so we don't send the WRONG key to the output)... this works great with keys, but since the mouse is invisible we can't know you want to do a multi-key gesture using the mouse.

0.4.0 just sends the wrong keys to the output and then unpresses them later, but that's why it can trigger unintentional keypresses.

If we turn off suspend then #9 reasserts itself.

joshgoebel commented 2 years ago

but if that's easier for you...

It's just that I'm often there and it would allow for more real-time back and forth... up to you.

RedBearAK commented 2 years ago

Moved text to issue #16.

joshgoebel commented 2 years ago

Is this covered well enough by the readme now?

RedBearAK commented 2 years ago

Is this covered well enough by the readme now?

This?

https://github.com/joshgoebel/keyszer#for-testinghackingcontributing

That seems to cover it pretty well . Want to add a line for installing the pytest stuff? Could be helpful.

There’s also no note there about how the xkeysnail import line will cause a problem. That really needs a good solution if you want people to test with their existing Kinto config file.