fix(autofill): AltGr et caracteres sans touche vers VNC

AltGr envoye en Ctrl gauche + Alt droit etendu, avec scancodes : "@" et
"#" en AZERTY arrivaient sans AltGr. Un caractere sans touche dans la
disposition locale est saute et compte dans le journal (copier a la place).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
r-zakarya
2026-10-14 13:45:33 +01:00
parent a3e63ee8f1
commit 9999dd113d
2 changed files with 50 additions and 21 deletions
+9 -3
View File
@@ -1448,9 +1448,15 @@ d'accord.
recevait un `V` par caractere. Cible dont l'exe contient « vnc »
(`TargetTypesByKeyCodes`) → **vraies touches** (`SendKeyCodeString` :
`VkKeyScanEx` dans la disposition de la cible, + Maj/Ctrl/Alt, AltGr =
Ctrl+Alt) ; un caractere sans touche repart en Unicode. Journal : `typed as
key codes (VNC)` sur la ligne `Autofill waits`. Eprouve sur un mot de passe
simple ; caracteres speciaux dependants de la disposition du Mac distant.
Ctrl+Alt). **AltGr = `VK_LCONTROL` + `VK_RMENU` etendu**, comme le vrai
clavier : un Ctrl+Alt generique etait lu par TigerVNC comme deux
modificateurs, et `@` (AltGr+0 en AZERTY) arrivait en `a`. Chaque touche porte
aussi son scancode (`MapVirtualKeyEx`). **Un caractere sans touche dans la
disposition locale** (arabe sur clavier francais) ne peut pas passer : il
est **saute et compte** - journal `N character(s) have no key on this
keyboard and were NOT typed - copy instead` ; la copie, que TigerVNC
synchronise, reste le recours. Eprouve vers un Mac : lettres, espaces, `@`,
`#` corrects, 19 caracteres arabes sautes et comptes.
- **UIPI** : SendInput vers process élevé bloqué. Notepad++ admin,
regedit → autofill silencieusement no-op. Tester avec apps non-élevées.