Giter VIP home page Giter VIP logo

Comments (3)

Skycoder42 avatar Skycoder42 commented on August 11, 2024 1

Thats unfortunate. I will mark this issue as out of scope for now, but if someone wants to give it a try, feel free to do so. However, I would prefer to not add any extra non standard libraries or testing libraries to the project.

from qhotkey.

Skycoder42 avatar Skycoder42 commented on August 11, 2024

This is definitly a valid issue, but at this point I have no clue why this happens. It's probably simply how X handles key events - but further investigation would be needed to figure this one out. I currently don't have much freetime to work on such deep problems, so if you want to, feel free to further investigate this.

My first ideas on what is happening:

  • X is just eating the keys, nothing we can do
  • while being pressed, all key events are redirected to the grabbing application by design - this would need more event logging prove
  • It's some kind of misconfiguration and can be fixed by using the APIs differently

from qhotkey.

anthonybilinski avatar anthonybilinski commented on August 11, 2024

It looks like it is just how XGrabKey behaves: https://stackoverflow.com/questions/15270420/why-xgrabkey-generates-extra-focus-out-and-focus-in-events

XRecord seems to offer an alternative that doesn't grab focus, but it then reports all keys and has you filter them rather than you registering a hotkey with it. https://www.x.org/releases/X11R7.6/doc/libXtst/recordlib.html#enable_context

For example, this is done in libuiohook here: https://github.com/kwhat/libuiohook/blob/1.1/src/x11/input_hook.c#L857

Looks like it would be a pretty major change to resolve, unfortunately.

from qhotkey.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.