Hi Sean,

Thanks for your input, did you find a fix ?

Regards,
YA


Le dim. 13 nov. 2022 à 19:02, Sean Hulbert
<[email protected]> a écrit :

> This may not be a guacamole vnc issue, it maybe the debian keyboard
> mapping inside the Debian OS, I ran across this issue years ago with early
> development on xrdp.  Once I am back home I will post my solution fix , it
> may help.
>
>
>
>
>
> Sent by Android Ai hijacked INS communications 6G
>
>
> -------- Original message --------
> From: Yves Auffret <[email protected]>
> Date: 11/13/22 7:40 AM (GMT-08:00)
> To: [email protected], Michael Jumper <[email protected]>
> Subject: Re: Guacamole & special characters issue
>
> Hi Mike,
>
> First of all, I would like to thank you for the very detailed messages and
> for your help which is much appreciated.
>
> Here are the results of my tests and a possible workaround.
>
> All my tests were done on a PC with a French PC keyboard (AZERTY) and on a
> Mac with the official French Mac keyboard (AZERTY).
>
> On the Guacamole login web page in the username field I can enter all the
> special characters: { } and | . Everything works perfectly in this field
> whether on PC or Mac.
>
> But when I am connected to the LXDE desktop via Guacamole (VNC mode) here
> are my results:
>
> *On a Mac with a French Mac keyboard:*
>
> With the command: xev -event keyboard
>
> When I press Alt_L + Shift_L + L which is the combination for the |. We
> can see the event in xev but this key combination does not work in
> applications with LXDE, nothing is displayed.
>
> KeyPress event, serial 40, synthetic NO, window 0x2800001,
>     root 0x394, subw 0x0, time 82378885, (212,195), root:(256,286),
>     state 0x10, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
>     XLookupString gives 0 bytes:
>     XmbLookupString gives 0 bytes:
>     XFilterEvent returns: False
>
> KeyPress event, serial 40, synthetic NO, window 0x2800001,
>     root 0x394, subw 0x0, time 82382500, (210,193), root:(254,284),
>     state 0x18, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
>     XLookupString gives 0 bytes:
>     XmbLookupString gives 0 bytes:
>     XFilterEvent returns: False
>
> KeyPress event, serial 40, synthetic NO, window 0x2800001,
>     root 0x394, subw 0x0, time 82384698, (210,193), root:(254,284),
>     state 0x19, keycode 51 (keysym 0x7c, bar), same_screen YES,
>     XLookupString gives 1 bytes: (7c) "|"
>     XmbLookupString gives 1 bytes: (7c) "|"
>     XFilterEvent returns: False
>
> KeyRelease event, serial 40, synthetic NO, window 0x2800001,
>     root 0x394, subw 0x0, time 82384787, (210,193), root:(254,284),
>     state 0x19, keycode 51 (keysym 0x7c, bar), same_screen YES,
>     XLookupString gives 1 bytes: (7c) "|"
>     XFilterEvent returns: False
>
>
> *With a PC and a French PC keyboard and the key combination AltGr + 6
> (which includes – (minus) and | (pipe symbol)).*
>
> Sometimes it works but more often it doesn't.
>
> (from altgr.txt)
> …
> KeyPress event, serial 28, synthetic NO, window 0x1200001,
>     root 0x394, subw 0x1200002, time 570310, (36,51), root:(140,121),
>     state 0x84, keycode 94 (keysym 0x7c, bar), same_screen YES,
>     XKeysymToKeycode returns keycode: 51
>     XLookupString gives 1 bytes: (1c) ""
>     XmbLookupString gives 1 bytes: (1c) ""
>     XFilterEvent returns: False
>
> KeyRelease event, serial 28, synthetic NO, window 0x1200001,
>     root 0x394, subw 0x1200002, time 570410, (36,51), root:(140,121),
>     state 0x84, keycode 94 (keysym 0x7c, bar), same_screen YES,
>     XKeysymToKeycode returns keycode: 51
>     XLookupString gives 1 bytes: (1c) ""
>     XFilterEvent returns: False
> …
>
> *With a PC and a French PC keyboard and the key combination Ctrl_L + Alt_L
> + 6 (which includes – (minus) and | (pipe symbol)).*
>
> This key combination works fine, I get the | Everytime.
>
> (From ctrlalftleft.txt)
> …
> KeyPress event, serial 28, synthetic NO, window 0x1200001,
>     root 0x394, subw 0x0, time 667274, (108.77), root:(212.147),
>     state 0x1, keycode 51 (keysym 0x7c, bar), same_screen YES,
>     XLookupString gives 1 bytes: (7c) "|"
>     XmbLookupString gives 1 bytes: (7c) "|"
>     XFilterEvent returns: False
> …
>
>
> I managed to make it work on PC and Mac but using these key combinations:
>
> PC with French PC keyboard
>
> Normal use
>
> With Guacamole (VNC) and LXDE
>
> {
>
> ALTGr + { or CTRL + ALT + {
>
> CTRL + ALT + {
>
> }
>
> ALTGr + } or CTRL + ALT + }
>
> CTRL + ALT + }
>
> [
>
> ALTGr + [ or CTRL + ALT + [
>
> CTRL + ALT + [
>
> ]
>
> ALTGr + ] or CTRL + ALT + ]
>
> CTRL + ALT + ]
>
> |
>
> ALTGr + | or CTRL + ALT + |
>
> CTRL + ALT + |
>
>
>
> Mac with French Mac keyboard
>
> Normal use
>
> With Guacamole (VNC) and LXDE
>
> {
>
> ALT + (
>
> ALT Right + (
>
> }
>
> ALT + )
>
> ALT Right + )
>
> [
>
> ALT + SHIFT + (
>
> ALT Right + SHIFT + (
>
> ]
>
> ALT + SHIFT + )
>
> ALT Right + SHIFT + )
>
> |
>
> ALT + SHIFT + L
>
> ALT Right + SHIFT + L
>
> This is good news but I don't know where the malfunction comes from with
> the other key combinations.
>
> Regards,
> YA
>
> Le 13 novembre 2022 à 07:58:21, Michael Jumper ([email protected]) a
> écrit:
>
> On Sat, Nov 12, 2022 at 12:22 PM Yves Auffret <[email protected]> wrote:
>
>> At the moment, I don't know where the bug is.
>>
>> Sometimes it works, but most of the time it doesn't.
>>
>> Most often it works when I type several characters before the pipe symbol
>> or the curly brackets.
>>
>> When it doesn't work, I have to release all the keys, wait a bit and try
>> again, and sometimes by some miracle it works.
>>
>> It's like LXDE (or Guacamole) can't quite figure out the key combination.
>>
>
> Try installing the "xev" tool (which logs X11 events, including
> keypresses), run it within a terminal in the VNC session, and see what is
> reported when keys are behaving as expected vs. not.
>
> If you're seeing correct behavior in the keyboard tester at
> https://guacamole.apache.org/pub/tests/guac/keyboard-test.html, then it's
> unlikely that there's an issue with Guacamole's keyboard handling. The
> keysyms that you see there would be passed exactly as-is to the VNC server.
> Something as fundamental as the ability to type "{}" or "|" on a French
> keyboard would also likely have been noticed:
>
> https://guacamole.apache.org/faq/#probably-not-a-bug
>
> It's not impossible that there is some modifier state getting stuck
> through some difficult-to-replicate sequence of events, but the fact that
> you're seeing incorrect behavior immediately suggests that is not the case.
> There is also next to zero additional key event processing in the case of
> VNC - unlike RDP, we can just send the events straight through untouched.
>
> How is the combination of CTRL+ALT+SHIFT handled in Guacamole, doesn't
>> this event handle side effects?
>>
>
> The keys Ctrl, Alt, and Shift are sent immediately upon being pressed. For
> Ctrl+Alt+Shift, when the third key in that sequence is pressed, the
> Guacamole withholds *that* event and automatically sends release events
> for the two that were pressed. For example:
>
> 1. Press Ctrl (Guacamole sends press event for Ctrl)
> 2. Press Alt (Guacamole sends press event for Alt)
> 3. Press Shift (Guacamole sends release events for Ctrl and Alt, and opens
> the menu)
>
> or:
>
> 1. Press Shift (Guacamole sends press event for Shift)
> 2. Press Ctrl (Guacamole sends press event for Ctrl)
> 3. Press Alt (Guacamole sends release events for Shift and Ctrl, and opens
> the menu)
>
> etc.
>
> Guacamole will also automatically release ALL keys that it knows you have
> pressed once the browser window loses focus (since Guacamole will no longer
> be able to know whether you have released those keys).
>
> - Mike
>
>

Reply via email to