Rojetto / ReNeo

Neo-Tastaturlayouts für Windows
GNU General Public License v3.0
57 stars 11 forks source link

Unerwartet aktives CapsLock nach ReNeo-Start #94

Open maxmitti opened 1 year ago

maxmitti commented 1 year ago

Ich betreibe ReNeo im Standalone-Modus unter Windows 10. Dafür lasse ich es über den Task Scheduler direkt beim Login als Administrator starten.

Heute war anscheinend nach dem Starten Caps-Lock ohne mein Zutun aktiv. Soweit ich mich erinnern kann habe ich weder selber Caps-Lock aktiviert, noch wäre mir aufgefallen, dass die Caps-Lock-LED geleuchtet hat. Ich will mich aber nicht vollkommen darauf berufen, da mir bewusst ist, dass man sich leicht Dinge einbilden kann, die in Wirklichkeit anders waren.

Jedenfalls wollte ich als Erstes ein paar Zahlen mit den Nummernblock eingeben, was aber stattdessen die Ebene-2-Symbole erzeugt hat. Nach kurzer Verwirrung wurde mir wohl bewusst, dass es sich um Ebene 2 handelt. Daraufhin habe ich dann zweimal L- und R-Shift gleichzeitig gedrückt um Caps-Lock zu aktivieren und deaktivieren, worauf sich dann die Eingabe wieder normal verhalten hat. Dass man bei so stuckenden Modifiern den entsprechenden Lock doppelt betätigen muss wusste ich bereits aus sporadisch auftretenden ähnlichen Problemen. Allerdings traten diese nie direkt nach dem Start auf. Diese Probleme haben mich allerdings überhaupt erst dazu veranlasst reneo_debug.exe für das Logging zu verwenden.

Anbei befindet sich der relevante Ausschnitt der Log-Datei: reneo_log bootup_num_problem.txt

Nachfolgend noch ein paar Log-Ausschnitte mit Kommentaren jeweils darunter:

2022-11-07 08:56:19.810 Starting ReNeo...
[…]
2022-11-07 08:56:52.799 Changed to window with title 'Opening - Outlook'
2022-11-07 08:56:52.914 Changed to window with title 'Outlook'
2022-11-07 09:11:33.995 Updating keyboard layout
2022-11-07 09:11:33.995 Found input locale 4070C07
2022-11-07 09:11:33.995 Input locale corresponds to dll file name 'KBDGR.DLL'
[…]

Hier sieht man einerseits, wie Programme, die ich im Autostart habe, starten und andererseits, dass ich direkt nach dem Login erst einmal für 15 Minuten abwesend war. Infolgedessen wurde auch die Bildschirmsperre aktiviert, bevor ich irgendwas getippt habe. Danach habe ich wieder entsperrt und der Log wurde fortgesetzt.

[…]
2022-11-07 09:12:20.515            (down)       (Ext) | Scan 0x001C | VK_RETURN (0x0D)
2022-11-07 09:12:20.578             (up)        (Ext) | Scan 0x001C | VK_RETURN (0x0D)
2022-11-07 09:12:32.839            (down)             | Scan 0x0048 | VK_NUMPAD8 (0x68)
2022-11-07 09:12:32.839 Trying to send ✘ (0x2718) ...
2022-11-07 09:12:32.839 No standard key combination found, sending VK packet instead.
2022-11-07 09:12:32.845 (injected) (down)             | Scan 0x2718 | VK_PACKET (0xE7)
2022-11-07 09:12:32.877            (down)             | Scan 0x0052 | VK_NUMPAD0 (0x60)
2022-11-07 09:12:32.892 Trying to send ␣ (0x2423) ...
2022-11-07 09:12:32.892 No standard key combination found, sending VK packet instead.
2022-11-07 09:12:32.892 (injected) (down)             | Scan 0x2423 | VK_PACKET (0xE7)
2022-11-07 09:12:32.892             (up)              | Scan 0x0048 | VK_NUMPAD8 (0x68)
[…]

Hier sieht man, wie ich die Zahlen über den Nummernblock eingeben wollte, aber Ebene-2-Symbole erzeugt wurden.

[…]
2022-11-07 09:12:34.296            (down)             | Scan 0x000E | VK_BACK (0x08)
2022-11-07 09:12:34.365             (up)              | Scan 0x000E | VK_BACK (0x08)
2022-11-07 09:12:34.798            (down)             | Scan 0x002A | VK_LSHIFT (0xA0)
2022-11-07 09:12:34.798 (injected) (down)             | Scan 0x002A | VK_LSHIFT (0xA0)
2022-11-07 09:12:34.798            (down)       (Ext) | Scan 0x0036 | VK_RSHIFT (0xA1)
2022-11-07 09:12:34.798 (injected) (down)             | Scan 0x003A | VK_CAPITAL (0x14)
2022-11-07 09:12:34.798 (injected)  (up)              | Scan 0x003A | VK_CAPITAL (0x14)
2022-11-07 09:12:34.798 (injected) (down)       (Ext) | Scan 0x0036 | VK_RSHIFT (0xA1)
2022-11-07 09:12:34.851             (up)              | Scan 0x002A | VK_LSHIFT (0xA0)
2022-11-07 09:12:34.851 (injected)  (up)              | Scan 0x002A | VK_LSHIFT (0xA0)
2022-11-07 09:12:34.882             (up)        (Ext) | Scan 0x0036 | VK_RSHIFT (0xA1)
2022-11-07 09:12:34.882 (injected)  (up)        (Ext) | Scan 0x0036 | VK_RSHIFT (0xA1)
2022-11-07 09:12:35.215            (down)             | Scan 0x002A | VK_LSHIFT (0xA0)
2022-11-07 09:12:35.215 (injected) (down)             | Scan 0x002A | VK_LSHIFT (0xA0)
2022-11-07 09:12:35.215            (down)       (Ext) | Scan 0x0036 | VK_RSHIFT (0xA1)
2022-11-07 09:12:35.215 (injected) (down)             | Scan 0x003A | VK_CAPITAL (0x14)
2022-11-07 09:12:35.215 (injected)  (up)              | Scan 0x003A | VK_CAPITAL (0x14)
2022-11-07 09:12:35.230 (injected) (down)       (Ext) | Scan 0x0036 | VK_RSHIFT (0xA1)
2022-11-07 09:12:35.246             (up)              | Scan 0x002A | VK_LSHIFT (0xA0)
2022-11-07 09:12:35.253 (injected)  (up)              | Scan 0x002A | VK_LSHIFT (0xA0)
2022-11-07 09:12:35.300             (up)        (Ext) | Scan 0x0036 | VK_RSHIFT (0xA1)
2022-11-07 09:12:35.300 (injected)  (up)        (Ext) | Scan 0x0036 | VK_RSHIFT (0xA1)
2022-11-07 09:12:36.033            (down)             | Scan 0x0048 | VK_NUMPAD8 (0x68)
2022-11-07 09:12:36.033 (injected) (down)             | Scan 0x0048 | VK_NUMPAD8 (0x68)
2022-11-07 09:12:36.055             (up)              | Scan 0x0048 | VK_NUMPAD8 (0x68)
2022-11-07 09:12:36.055 (injected)  (up)              | Scan 0x0048 | VK_NUMPAD8 (0x68)
2022-11-07 09:12:36.187            (down)             | Scan 0x0048 | VK_NUMPAD8 (0x68)
2022-11-07 09:12:36.187 (injected) (down)             | Scan 0x0048 | VK_NUMPAD8 (0x68)
2022-11-07 09:12:36.256             (up)              | Scan 0x0048 | VK_NUMPAD8 (0x68)
2022-11-07 09:12:36.256 (injected)  (up)              | Scan 0x0048 | VK_NUMPAD8 (0x68)
2022-11-07 09:12:36.757            (down)             | Scan 0x000E | VK_BACK (0x08)
2022-11-07 09:12:36.804             (up)              | Scan 0x000E | VK_BACK (0x08)
[…]

Hier habe ich dann nach dem Löschen der fehlerhaften Eingabe Caps-Lock über L-Shift + R-Shift doppelt betätigt, wodurch ich danach korrekt die Ziffern eingeben konnte.

PS: Ich habe eine Weile stark an meiner Wahrnehmung gezweifelt, allerdings bin ich mir aufgrund der Passworteingabe sehr sicher, dass ich zumindest währenddessen kein Caps-Lock aktiviert hatte. Ebenfalls scheint mir der Log zuzustimmen, dass bis zur Problembehebung meinerseits kein Caps-Lock betätigt wurde, und dass ich Caps-Lock wirklich genau 2x betätigt habe, was gegen ein „normales“ Caps-Lock spricht. Ein solches hätte nämlich durch einmaliges Betätigen deaktiviert und durch das zweite Mal wieder aktiviert werden müssen.

Rojetto commented 1 year ago

Danke für die Meldung und ausführliche Dokumentation. Ist das Problem danach noch einmal aufgetreten? Bei mir kann ich es leider nicht reproduzieren, bis dahin kann ich hier erstmal nicht viel tun.

Nach meiner Erfahrung ist der Capslock-Zustand in Windows definitiv etwas frickelig, besonders wenn das Umschalten zwischen verschiedenen Layouts (z. B. QWERTZ und kbdneo) mit ins Spiel kommt. Habe auch schon erlebt, dass die Capslock-LED nicht den echten Capslock-Zustand anzeigt.

maxmitti commented 1 year ago

Ja, das Problem tritt leider immer wieder mal auf. Allerdings sieht es aus, als würde es nicht am Start von ReNeo liegen, sondern an der Bildschirmsperre.

Gelegentlich passiert es nämlich, dass nach dem Entsperren so ein komischer Zustand auftritt:

Ich bin inzwischen wieder auf den Release-Build umgestigen, weil Keylogger-artige Logs doch nicht so toll sind. Falls gewünscht kann ich aber wieder Logs sammeln.