Menu

#87 Arrows keys don't work under Linux

open
nobody
None
5
2015-01-16
2009-05-08
Folco -
No

Hi,

I use Fedora 10 (x86_64), up-to-date, with only packages of official repos (+rpmfusion).
I use the latest TiEmu and all its dependencies, downloaded from repo.calcforge.org.

The bug : Keystrokes on PC arrows don't emulate such keystrokes on the emulator. I get this behavior at any moment, even just after having started TiEmu.

Nevertheless, all other keys seem to work fine, exept this old bug (FC5 !!) : https://sourceforge.net/tracker/?func=detail&aid=1649068&group_id=23169&atid=377680 ;-)

Another keyboard problem, still under Linux ^^

++

Folco

Discussion

  • Kevin Kofler

    Kevin Kofler - 2009-05-08

    Confirmed, I can reproduce this. Happens on Fedora 10, not on Fedora 9. The new evdev driver which handles keyboards in Fedora >= 10 generates different keycodes, this breaks TiEmu's hardcoded list of keycodes.

     
  • Kevin Kofler

    Kevin Kofler - 2009-05-08

    Some other non-alphanumeric keys also don't work on F10 (they work fine on F9):
    Ins (should be EE on the 89/89Ti and sin( on the 92+/V200, does nothing)
    Home (should be cos( on the 92+/V200, does nothing)
    PgUp (should be ^ on the 89/89Ti and tan( on the 92+/V200, inserts / instead)
    Del (should be CLEAR, does nothing)
    End (should be ENTER on the 92+/V200, does nothing)
    PgDn (should be ^ on the 92+/V200, does nothing)
    (though my F10 machine is a laptop, so its keyboard is a bit nonstandard, so if somebody can confirm with evdev on a standard desktop keyboard, that'd be great).

     
  • Folco -

    Folco - - 2009-05-08

    I've checked all you says, I confirm all on a standard keyboard.

     
  • Folco -

    Folco - - 2009-05-09
    • summary: Arrows keys doesn't work under Linux --> Arrows keys don't work under Linux
     
  • John Ratliff

    John Ratliff - 2009-05-12

    http://code.technoplaza.net/tiemu/pckeys_evdev.patch

    Here is a rough patch that works for me on Gentoo Linux with evdev keyboard driver on a standard US 104 key keyboard. Probably needs editing. It is for the src/gui/calc/pckeys.h file.

    r2840 requires libticables 1.3.0 and I only have 1.2.0, so my patch is against 2814. But svn diff lists no changes between 2840 and 2814 for pckeys.h, so this shouldn't matter.

    Maybe I'm doing something wrong, but if I change pckeys.h and recompile, the new keycodes are not used. Not sure what's going on there. I used make clean first to be sure.

    I'm a little confused by the constant names. I know there are many kinds of keyboards, but I am only familiar with US PC keyboards. Are PRINT and SCREENSHOT the same key? What are the SELECT, STARTKEY, CONTEXTKEY, and OEM102 keys? I left these alone as I don't know what they are. Is SEPARATOR the numeric keypad's ENTER? I assumed it was and made the appropriate change.

    Not sure what any of the 0xff keys are, but I think they are irrelevant here. This patch will probably break x servers that aren't using evdev, so this is not really a fix for this problem. It's just a temporary workaround, but it does work for me.

     
  • Kevin Kofler

    Kevin Kofler - 2009-07-26

    Here's some code which can be used to detect evdev, to decide which mapping to use: https://bugzilla.redhat.com/attachment.cgi?id=328839

     
  • Kevin Kofler

    Kevin Kofler - 2009-07-26

    Alternatively, we could also just assume evdev is being used, as the last Fedora release which defaulted to the old kbd driver (Fedora 9) already went EOL. :-p

     
  • John Ratliff

    John Ratliff - 2009-07-27

    This is probably fine in most cases. Gentoo has also recently changed the default xorg server to one that uses hal and evdev.

     
  • Travis Evans

    Travis Evans - 2012-02-16

    Is there some reason the keycode names from X11's keysym.h aren't used instead of raw values? It would seem that that would avoid this mess in the future, the next time they decide to break compatibility again...

     
  • Wyatt Ward

    Wyatt Ward - 2015-01-16

    Is this still not patched despite all these options for doing so? 2015 and I still have this problem in debian.

     

Log in to post a comment.