Custom key binding is not always honored

Issue #472 closed
Former user created an issue

Originally reported on Google Code with ID 472

Steps to reproduce: Assign one of the following key functions (Delete, BackSpace, Left,
Right, Home, End) to one of the letter keys on 3-rd and 4-th level (switched to with
Right Alt (Alt gr) key). This can be done in /usr/share/X11/xkb/symbols/us for example.

Expected behavior: Custom key bindings behave correctly in SpeedCrunch.

Experienced behavior: Pressing rebound key combinations has no effect.

Product version: SpeedCrunch 0.11 (Qt 4.8.5)

Operating system: Manjaro GNU/Linux stable

Additional Information: Rebound (Up, Down, PageUp, PageDown) work fine.
This is an example of rebound Delete and BackSpace in /usr/share/X11/xkb/symbols/us
("dvp" variant):
key <AC03> { [ e, E, BackSpace, BackSpace ] };
key <AC04> { [ u, U, Delete, Delete ] };
I have similar rebinding in ua ("unicode") and observed behavior is the same: 4 just
mentioned combinations work, while 6 (Delete, BackSpace, Left, Right, Home, End) don't.

Reported by igorkuo on 2014-01-30 21:29:31

Comments (8)

  1. Former user Account Deleted
    This is actually a very common problem to almost all Qt apps. Though BackSpace sometimes
    works (in GoldenDict for example).
    The only exception I know about is KDevelop - all bindings work perfectly here.
    So unfortunately it might be very difficult to fix this :(
    
    On the other hand, most GTK+ apps support bindings perfectly. Maybe its just because
    I use XFCE desktop?
    

    Reported by igorkuo on 2014-01-30 22:05:42

  2. Former user Account Deleted
    Seems that there are known issues with Qt and custom keys... Some of them have 'fixed'
    status, but I'm not sure if they are fixed in Qt4 or in Qt5 only.
    I've found some Qt bug reports with Google-searching the following words:
    qt  bug /usr/share/X11/xkb/symbols/us
    
    I understand that it is much better to fix this issue in Qt, and not in all apps, which
    use Qt. But if there is an easy workaround, it would be great to know about. I was
    thinking about custom key handling (key event) instead of relying on standard widget
    behavior. If this solves the problem, doesn't introduce any other bugs and doesn't
    pollute code too much, I'd say it is acceptable.
    

    Reported by igorkuo on 2014-01-31 08:44:35

  3. Former user Account Deleted
    I've discovered that QTextBrowser, QTextEdit, QLineEdit don't accept rebound keys in
    Qt4. With one exception: QLineEdit accepts BackSpace.
    However in Qt5 all required keys are accepted by these three widgets except that QTextBrowser
    and QTextEdit don't accept BackSpace.
    
    I've just reported Qt bug: https://bugreports.qt-project.org/browse/QTBUG-36565
    However it might not get fixed in Qt4. In that case it would be nice if SpeedCrunch
    supported Qt5 too.
    

    Reported by igorkuo on 2014-01-31 11:25:27

  4. Former user Account Deleted
    Hi, Igor. Thanks for all the details. To answer your final statement, I was indeed thinking
    of adopting Qt5 for next SpeedCrunch release.
    

    Reported by helder.pereira.correia on 2014-01-31 17:51:39

  5. Former user Account Deleted

    Reported by helder.pereira.correia on 2014-11-28 17:23:38 - Labels added: Type-Defect

  6. Log in to comment