Bug 8414 - § key on Macbook does not produce any keycodes
Summary: § key on Macbook does not produce any keycodes
Status: CLOSED FIXED
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: Build system (show other bugs)
Version: trunk
Hardware: PC Unknown
: P2 Normal
Target Milestone: 4.18.0
Assignee: Emelie
URL:
Keywords: aleze_tester, relnotes
: 7982 (view as bug list)
Depends on:
Blocks:
 
Reported: 2024-08-20 15:56 CEST by Martin Östlund
Modified: 2024-11-13 14:50 CET (History)
5 users (show)

See Also:
Acceptance Criteria:


Attachments
Beautiful Macbook Keyboard (1.13 MB, image/jpeg)
2024-08-20 16:01 CEST, Martin Östlund
Details

Description Martin Östlund cendio 2024-08-20 15:56:10 CEST
From version 4.14.0 of the ThinLinc client, some keys produce no key code at all.

One example of this is the key for § and $, located below Escape.

(One can use the 'xev' utility to verify this)

We suspect that it was introduced in 
https://github.com/TigerVNC/tigervnc/commit/0d22c7bd365637889c05dc3ad08652a3e719c46a

And that https://github.com/TigerVNC/tigervnc/commit/97f51df7013ac818ec3e3c94b6c07b1300de1acd should fix this.
Comment 2 Martin Östlund cendio 2024-08-20 16:01:04 CEST
Created attachment 1221 [details]
Beautiful Macbook Keyboard
Comment 3 Emelie cendio 2024-11-06 09:04:00 CET

*** This bug has been marked as a duplicate of bug 7982 ***
Comment 5 Samuel Mannehed cendio 2024-11-07 11:04:24 CET
*** Bug 7982 has been marked as a duplicate of this bug. ***
Comment 6 Samuel Mannehed cendio 2024-11-07 12:27:16 CET
Tested the macOS client on 6 different ThinLinc versions:

- 4.9.0 (worked)
- 4.10.0 (blank client, bug 7539)
- 4.12.1 (worked)
- 4.13.0 (worked)
- 4.14.0 (bug started showing)
- 4.17.0post_3682 (fixed)
Comment 10 Alexander Zeijlon cendio 2024-11-11 14:58:57 CET
Testing:
========

I have looked through the backport of the upstream commit and the change that have been applied looks good, but there are "parts missing" which essentially makes the dead key move to another place on an ISO layout keyboard.

When testing, the key to the left of the "1"  key now is no longer dead, and the correct character is printed when e.g. typing in a terminal in a ThinLinc session.

But the key between the left shift and "z" is now dead instead.

It looks like this is because the upstream patch was not applied in its entirety.

The patch consists of two parts:
 1. A diff that causes the two keys ISO_Selection and ANSI_Grave switch places
    if an ISO layout is used, essentially compensating for the weird behavior on
    macOS.
 2. A diff that adds a mapping for ISO_Selection on macOS systems.

So to conclude, we are now swapping keys correctly when using ISO layout keyboards, but the dead key is still dead. This should be fixed by applying the 2'nd diff of the upstream commit.
Comment 12 Madeleine cendio 2024-11-11 16:40:10 CET
Following up on comment 10, the suggested change to apply the second diff has been implemented in revision 41321. Tested on macOS M1 and x86 and works as expected.

Note You need to log in before you can comment on or make changes to this bug.