Code Monkey home page Code Monkey logo

Comments (13)

darksylinc avatar darksylinc commented on August 11, 2024 2

Arrrghhhhh!!! This bug is annoying me.

I fired up the debugger and libkeybinder is getting the key combination, but it translates Shift+Super+a (for example) into Super+A (uppercase A) and thus it thinks the key combination was not pressed. Lunch is ready. Will look further when I get back.

from keybinder.

darksylinc avatar darksylinc commented on August 11, 2024 2

OK I know what's going on.

I've created the PR #10 to fix this issue.

keybinder has two main branches: master and keybinder-3.0

  • The former has GTK 2.0 and Python support.
  • The latter has GTK 3.0 and no Python support.

As a result, the former is more popular. The 3.0 branch has already solved this issue by introducing the function keybinder_set_use_cooked_accelerators but the original 2.0 branch has no such fix/workaround. So I've implemented my own.

I've implemented keybinder_set_avoid_cooking_shift_accelerators. Calling
keybinder_set_avoid_cooking_shift_accelerators( false ); will use the old behavior. The default is now enabled because the lack of Shift modifiers is extremely annoying.

I've included the python binding to toggle this workaround.

If the matter is urgent and the PR doesn't get accepted quickly, use my fork https://github.com/darksylinc/keybinder
I will not provide user-support however. Compile it on your own.

Now I can finally use Shift+Super+1 in dockbarX to launch new instances of a pinned application.

from keybinder.

gsemet avatar gsemet commented on August 11, 2024 1

I don't see this issue, Ctrl+Shift+C/V works well with libkeybinder on ubuntu 14 and 15

from keybinder.

ElijahLynn avatar ElijahLynn commented on August 11, 2024

I did attempt the example main.c thinking it is the python-keybinder keybindings that is the culprit. But with main.c I keep getting an error that it can not find keybinder.h. I think I need to install it somewhere, working on that still.

from keybinder.

ElijahLynn avatar ElijahLynn commented on August 11, 2024
$ sudo apt-cache policy libkeybinder0
libkeybinder0:
  Installed: 0.3.0-2
  Candidate: 0.3.0-2
  Version table:
 *** 0.3.0-2 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
        100 /var/lib/dpkg/status

from keybinder.

ElijahLynn avatar ElijahLynn commented on August 11, 2024
$ sudo apt-cache policy python-keybinder
python-keybinder:
  Installed: 0.3.0-2
  Candidate: 0.3.0-2
  Version table:
 *** 0.3.0-2 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
        100 /var/lib/dpkg/status

from keybinder.

ElijahLynn avatar ElijahLynn commented on August 11, 2024

Hrm, maybe I should just include the path of https://github.com/engla/keybinder/blob/master/libkeybinder/keybinder.h in the main.c file instead of just keybinder. Will try that soon.

from keybinder.

ulidtko avatar ulidtko commented on August 11, 2024

Did you try <shift><meta>T ?

As far as I remember, the gtk_accelerator_parse function is quite finicky.

Also, I'm not sure what binds Ctrl-Alt-T as the default terminal shortcut, so there could be a conflict with that.

from keybinder.

ElijahLynn avatar ElijahLynn commented on August 11, 2024

There is a Ctrl-Alt-T default in Ubuntu with the Terminal application. However, I am using Shift-Alt-T though, which doesn't appear to have a conflict. When I do use the conflicted Ctrl-Alt-T, I do get a warning of "** (example.py:20382): WARNING **: Binding 'T' failed!" but Shift-Alt-T doesn't give me a warning.

from keybinder.

ElijahLynn avatar ElijahLynn commented on August 11, 2024

I get a "** (example.py:21474): WARNING **: Failed to map virtual modifiers" when using <Meta><Shift>T or <Shift><Meta>T.

from keybinder.

ElijahLynn avatar ElijahLynn commented on August 11, 2024

I am having the same issue with <Ctrl><Shift>V in the example. Ultimately leads to me not being able to copy/paste in Guake.

from keybinder.

ElijahLynn avatar ElijahLynn commented on August 11, 2024

When I do press the problem key combos the terminal of the example.py app does respond by blinking the cursor rectangle. If I hold down on the key combo it turns into a rectangle with an outline, and as soon as I let go it is a filled in rectangle again. So it does appear it is getting the combo, because if I press a different combo, it actually prints something to the screen.

from keybinder.

ElijahLynn avatar ElijahLynn commented on August 11, 2024

This is awesome!! Now I need to figure out how to install Keybinder so Guake uses it!

Thanks

from keybinder.

Related Issues (11)

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.