xpra icon
Bug tracker and wiki

This bug tracker and wiki are being discontinued
please use https://github.com/Xpra-org/xpra instead.


Opened 7 months ago

Closed 4 months ago

Last modified 3 months ago

#2915 closed defect (fixed)

Caps_Lock affecting number keys

Reported by: Thomas Esposito Owned by: Thomas Esposito
Priority: major Milestone: 4.1
Component: keyboard Version: 3.0.x
Keywords: Cc:

Description

The Caps_Lock modifiers is only supposed to affect letter keys, but it is affecting number keys as well. I am using the Windows 10 client and 3.0.x server. This DOESN'T happen with the Windows 10 client and the 1.0.x server.

I am attaching an annotated debug log file from the server for the following sequence of key presses, each separated by a rough count to 5:

press and release '8' -> prints '8'
press and release '9' -> prints '9'
press and release 'Caps_Lock' -> nothing in log
press and release '8' -> prints '*'
press and release '9' -> prints '('
press and hold "Shift_L"
press and release '8' -> prints '8'
press and release '9' -> prints '(', which is inconsistent with the behavior of the '8' key
release "Shift_L"

Attachments (1)

keyboard_debug_log2 (16.6 KB) - added by Thomas Esposito 7 months ago.
annotated debug log for described keyboard event sequence

Download all attachments as: .zip

Change History (20)

Changed 7 months ago by Thomas Esposito

Attachment: keyboard_debug_log2 added

annotated debug log for described keyboard event sequence

comment:1 Changed 7 months ago by stdedos

Also happens on my setup (v3 server with v4 windows client), but it was maybe even happening with v3 on both sides.

comment:2 Changed 6 months ago by Antoine Martin

Owner: changed from Antoine Martin to Thomas Esposito

This is fixed in r27755. (server side fix)
We decide which keys can be affected by the lock modifier using str.isalpha, ie:

> python3 -c 'print("0".isalpha())'
False
> python3 -c 'print("A".isalpha())'
True

@thomase00: There are beta builds with this fix here: https://xpra.org/beta. Please close if this works for you.

comment:3 Changed 6 months ago by Thomas Esposito

I'm stuck on 3.x (Centos 7.6), so I had to follow the changeset and patch it manually. It seems to work.

Is there any chance that you could port this to 3.x?

comment:4 Changed 6 months ago by Antoine Martin

Resolution: fixed
Status: newclosed

I'm stuck on 3.x (Centos 7.6), so I had to follow the changeset and patch it manually.

Good job!
That was not easy as the get_keycode method signatures had already been changed once in 4.1

It seems to work.

Thanks for the feedback!

Is there any chance that you could port this to 3.x?

Done in r27797.

comment:5 Changed 6 months ago by Samuel

Like you, I'm stuck on 3.x (Centos 7.8), is there any way to upgrade to 4.x?
Maybe it is planned for future work?

comment:6 Changed 6 months ago by Antoine Martin

Like you, I'm stuck on 3.x (Centos 7.8), is there any way to upgrade to 4.x?

No: #2760

FYI: this fix will be included in the next 3.x update.

comment:7 Changed 6 months ago by Thomas Esposito

Resolution: fixed
Status: closedreopened

Backspace doesn't work when caps-lock is toggled. It could be something to do with the fact that I patched this manually.

comment:8 Changed 6 months ago by Antoine Martin

Status: reopenednew

Backspace doesn't work when caps-lock is toggled.

Ooops, sorry. Try r27917.

comment:9 Changed 6 months ago by Thomas Esposito

Resolution: fixed
Status: newclosed

Thanks. That fixes the backspace issue.

comment:10 Changed 6 months ago by Samuel

Do you have any release date for the 3.x update?

comment:11 Changed 6 months ago by Antoine Martin

Do you have any release date for the 3.x update?

Probably next week.

comment:12 Changed 5 months ago by Samuel

Is there something new about the new 3.x version?
I don’t see it in the packages list of the centos 7.8 distribution.

comment:13 Changed 5 months ago by Antoine Martin

Is there something new about the new 3.x version?

Not yet.

I don’t see it in the packages list of the centos 7.8 distribution.

Try the beta repository, there are 3.0.13 RC builds with this fix.

comment:14 in reply to:  13 Changed 5 months ago by stdedos

Replying to Antoine Martin:

I don’t see it in the packages list of the centos 7.8 distribution.

Try the beta repository, there are 3.0.13 RC builds with this fix.

Do you mind pushing that RC for the beta Xenial as well? Especially with the xdg-open UTF-8 fix, it's two things I'd like to try on.

comment:15 Changed 4 months ago by Antoine Martin

Milestone: 3.14.1

comment:16 Changed 4 months ago by Thomas Esposito

Resolution: fixed
Status: closedreopened

I just updated to 3.0.13-10.r28351, and this is still behaving incorrectly.

comment:17 Changed 4 months ago by Thomas Esposito

It looks like the patch also needs to be implemented in the do_get_keycode_new() function in server_keyboard_config.py

comment:18 Changed 4 months ago by Antoine Martin

Resolution: fixed
Status: reopenedclosed

Ah, right you are: r28361.
(this will have to wait for the next release..)

comment:19 Changed 3 months ago by migration script

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/2915

Note: See TracTickets for help on using tickets.