Menu

#60 Ctrl+Break never ceases; i.e. key-up never happens

open
nobody
keyboard (31)
5
2006-04-07
2004-09-04
No

Once you press Ctrl+Break, the key acts like it's
forever pressed and never released.

I suspect the problem is in "xkeymap.c" where the
comment is made that "XK_Break" has "no release
sequence." I suspect that it does. The problem acts
=exactly= like a key-released sequence is never sent
for this key.

Discussion

  • Mike Robinson

    Mike Robinson - 2004-09-04
    • summary: Ctrl+Break never ceases --> Ctrl+Break never ceases; i.e. key-up never happens
     
  • Mike Robinson

    Mike Robinson - 2004-09-22

    Logged In: YES
    user_id=854356

    By pure experimentation I have found what appears to be a
    solution to this problem, but I don't know how to update
    the source-code to fix it.

    Near line 324 of xkeymap.c, an "if" statement ends with
    "no release sequence." Guessing that this must be wrong,
    I added an "else" clause that seems to work:

    else
    {
    rdp_send_scancode(ev_time, RDP_KEYRELEASE,
    (SCANCODE_EXTENDED | 0xc6));
    rdp_send_scancode(ev_time, RDP_KEYRELEASE,
    (SCANCODE_EXTENDED | 0x46));
    }

    ... simply sending the two scancodes listed in the "if"
    part, in reverse order, as key-up. All I can really say
    is, "it seems to work."

     
  • Peter Åstrand

    Peter Åstrand - 2006-04-07
    • labels: --> keyboard