Rojetto / ReNeo

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

`autoNumlock`-Option wirkungslos #59

Closed kaimi closed 3 years ago

kaimi commented 3 years ago

Ich habe autoNumlock auf false gesetzt; ich habe keine Ziffernblock auf der Tastatur, aber meine Maus hat Tasten darauf konfiguriert.

Trotzdem geben die Maustasten mit aktiviertem ReNeo Ziffern (= NumLock an).

kaimi commented 3 years ago

(Auf der Neo-Webseite ist die Option übrigens (noch) nicht dokumentiert.)

Rojetto commented 3 years ago

Zum Verständnis: du hast auf Maustasten Tasten des Nummernblocks gemappt?

Die Option autoNumlock betrifft den Windows-internen Zustand des Numlock. Das Konzept Numlock gibt es ja im Neo-Layout gar nicht. In den meisten Anwendungen macht es keinen Unterschied, auf welchen Wert diese Option gesetzt ist, da ReNeo immer entsprechend der aktuellen Ebene die richtigen Tastenevents sendet.

Manche Anwendungen erwarten aber aus seltsamen Gründen, dass Numlock gesetzt ist, obwohl bereits die richtigen Tastenevents kommen. Leute mit Laptops, die im Hardwaretreiber (?) auf dem Hauptfeld (also auf den Buchstabentasten) ein Nummernebene haben, stört das wiederum. Aufgekommen ist das bei einem bestimmten Modell von Dell. Für diese Grenzfälle ist die Option da.

Meiner Meinung nach ist das Verhalten also wie erwartet. Hast du ein konkretes Problem, das sich daraus ergibt? Ansonsten würde ich dieses Issue wieder schließen.

kaimi commented 3 years ago

Zum Verständnis: du hast auf Maustasten Tasten des Nummernblocks gemappt?

Yup. Und falls eine Anwendung damit nicht klarkommt (oder ich ein Makro haben will) wird munter mit AHK von da auf was anderes übersetzt. Ziffernblock-Tasten explizit, weil ich die auf der Tastatur nicht habe und sich da dann nichts in die Quere kommt.

Ich setze mich lieber mit AHK auseinander als mit Logitechs Software :)

In den meisten Anwendungen macht es keinen Unterschied, auf welchen Wert diese Option gesetzt ist, da ReNeo immer entsprechend der aktuellen Ebene die richtigen Tastenevents sendet.

Beispiel:

ReNeo aus: Maustaste erzeugt VK_Clear (0x0c).

ReNeo an: Maustaste erzeugt VK_NumPad5 (0x65).

Falls das relevant ist, beides während kbdneo installiert und aktives Layout ist.

Hast du ein konkretes Problem, das sich daraus ergibt?

Jein? Mit 4.1.5 muss ich ReNeo ja nicht mehr manchmal™ ausmachen (Danke!), aber jetzt muss ich den AHK-Kram anfassen und die Hotkeys ändern :grimacing:

Und falls aus irgendeinem Grund ReNeo doch mal aus ist, funktionieren die Maustasten nicht mehr.

Ich habe null Ahnung von den Interna hier; also wenn das jetzt ein Riesenaufwand ist, installiere ich mir 4.1.5 und lebe mit dem Rest.

Rojetto commented 3 years ago

Okay, verstehe langsam worauf du hinaus willst :)

Numpad-Tasten ersetzen wir immer mit unseren eigenen Events, das hat mit der Option autoNumlock nichts zu tun. Und wenn kein anderer Modifier gedrückt ist, ist das nunmal auf der ersten Ebene beispielsweise VK_NumPad5. Ich fürchte, da gibt es kein Drumherumkommen, tut mir Leid.

Falls das geht, könntest du auch statt der Nummerntasten alternativ F13-F24 benutzen. Die sind auf deiner Tastatur sicher auch nicht drauf und werden von ReNeo nicht angefasst.

Wenn du zusätzliche AHK-Skripte laufen hast, musst du mit der Startreihenfolge von AHK und ReNeo aufpassen. Das was später gestartet wird, hat „höhere Priorität”, kann also früher Events modifizieren. Die Programme die in der Prioritätsliste niedriger eingeordnet sind sehen dann nur noch die modifizierten Events.

kaimi commented 3 years ago

Falls das geht, könntest du auch statt der Nummerntasten alternativ F13-F24 benutzen. Die sind auf deiner Tastatur sicher auch nicht drauf und werden von ReNeo nicht angefasst.

Die sind auf meiner Tastatur :D

Habe ich trotzdem jahrelang genau so gemacht. Bis ich jetzt mein Windows nur noch virtualisiert habe … und evdev passthrough F13+ schluckt statt sie durchzuleiten. F.

Wenn du zusätzliche AHK-Skripte laufen hast, musst du mit der Startreihenfolge von AHK und ReNeo aufpassen. Das was später gestartet wird, hat „höhere Priorität”, kann also früher Events modifizieren. Die Programme die in der Prioritätsliste niedriger eingeordnet sind sehen dann nur noch die modifizierten Events.

Jup. Ist aber eh alles anwendungsspezifisch.

Rojetto commented 3 years ago

Meiner Meinung nach ist das Übersetzen der Numpad-Events in Zahlen das richtige Verhalten. Welche Nachwirkungen eine vermeintlich einfache Option nach sich ziehen kann siehst du in #60 (insbesondere dessen Lösung) selber.

Die beste Lösung ist deshalb nach meiner Einschätzung, dass du deine AHK-Skripte anpasst, oder irgendwie nach ReNeo startest. An Funktionalität geht ja so nichts verloren. Um zu vermeiden, dass die Maustasten nicht gehen, wenn ReNeo ausfällt, kannst du einfach autoNumlock wieder aktivieren und/oder manuell in Windows Numlock einschalten.

Rojetto commented 3 years ago

Gerade noch eingefallen: Du kannst natürlich auch layouts.json anpassen, und für das Numpad (ab Scancode 0x47) die VKs einstellen, die deine Skripte erwarten. Das machst du am besten für alle Ebenen identisch, damit gedrückte Modifier dir nichts kaputt machen.

Ich hoffe von den drei Lösungsvorschlägen kannst du mit einem leben.