RFR: 8308644: [Linux] Simplify and fix small bugs on glass key related events
Thiago Milczarek Sayao
tsayao at openjdk.org
Tue May 23 22:39:03 UTC 2023
On Tue, 23 May 2023 15:49:31 GMT, Martin Fox <duke at openjdk.org> wrote:
>> While working on IME I noticed this code could be simplified, so I removed the `g_hash_table` usage for a simple struct ordered for binary search (I'm sure it's ordered because I did a simple app to generate it ordered).
>>
>> This also fixes:
>>
>> - UNKNOWN key codes being sent on KEY_PRESS;
>> - Alt Gr is now working;
>> - Replaced X calls with GDK calls for key locked check for as a small step towards supporting Wayland in the future
>> - Added missing mappings (for F13 - F24 and dead keys) - Linux does not send dead keys as keypress but sends as key release, and they might be used on a robot test, so it's now covered.
>
> modules/javafx.graphics/src/main/native-glass/gtk/glass_key.cpp line 133:
>
>> 131: { GDK_KEY_exclamdown, com_sun_glass_events_KeyEvent_VK_INV_EXCLAMATION },
>> 132: { GDK_KEY_EuroSign, com_sun_glass_events_KeyEvent_VK_EURO_SIGN },
>> 133: { GDK_KEY_ISO_Level3_Shift, com_sun_glass_events_KeyEvent_VK_ALT_GRAPH },
>
> The old mapping (which you kept) is to map GDK Alt_R to VK_ALT_GRAPH. That seemed to be working fine. Is this a different key? How would I go about generating this keysym?
It was not working for me, so I did a little search and sometimes it's mapped do ISO_Level3:
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
-------------
PR Review Comment: https://git.openjdk.org/jfx/pull/1143#discussion_r1203106171
More information about the openjfx-dev
mailing list