staging.inyokaproject.org

Ctrl / Strg Tasten funktionieren nicht wie erwartet

Status: Gelöst | Ubuntu-Version: Kubuntu 20.04 (Focal Fossa)
Antworten |

colombo1980

Avatar von colombo1980

Anmeldungsdatum:
23. September 2008

Beiträge: Zähle...

Hallo!

Ich benutze gerne Shortcuts wie "Strg+t", um einen neuen Tab zu öffnen, oder "Strg+links/rechts", um zwischen Wörtern zu springen. Allerdings funktionieren die Strg-Tasten nur sehr verschieden. Beispiele:

BEIDE Strg-Tasten FUNKTIONIEREN bei:

  • "Strg+w" um einen Tab zu schließen

  • "Strg+links/rechts" um zwischen Wörtern zu springen

  • "Strg+Shift+rechts/links" um springend zu markieren

  • "Strg+c/v" um kopieren oder einzufügen

  • "Strg+Mausrad" um zu scrollen

  • ...

Linke Strg-Taste FUNKTIONIERT NICHT bei (ich muss dann die rechte Strg-Taste nutzen):

  • "Strg+t" für einen neuen Tab in Firefox

  • "Strg+t" für einen neuen Tab in Dolphin

  • ...

KEINE der beiden Strg-Tasten funktionieren bei

  • "Strg+n" für ein neues Bild in GIMP

  • "Strg+n" für neues Fenster in Firefox

  • ...

Ich könnte jetzt noch weitertesten, höre hier aber erstmal auf. Dieses Verhalten macht überhaupt keinen Sinn. Ist sowas bekannt? Habt ihr Ideen? Das macht mich kirre...

schollsky

Avatar von schollsky

Anmeldungsdatum:
3. Dezember 2012

Beiträge: 1338

Hallo colombo1980,

das hört sich danach an, als ob Tastenkürzel vom System anderweitig verwendet oder deaktiviert sind.

Bietet KDE nicht ein zentrales Einstellungstool, in dem Tastenkürzel für die Oberfläche eingestellt werden können?

Grüße

schollsky

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 2627

In den KDE Systemeinstellungen gibt es die Einstellungen für Kurzbefehle, das sind die Tastenkürzel, oder auch Shortcuts genannt. Für Firefox ist via about:config ein Schalter zu finden.

ui.key.textcontrol.prefer_native_key_bindings_over_builtin_shortcut_key_definitions

ChickenLipsRfun2eat Team-Icon

Supporter
Avatar von ChickenLipsRfun2eat

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12070

Hallo!

Zunächst solltest du eine noch unterstützte Version installieren. Qt5.12 in 20.04 ist seit Januar sogar im kommerziellen Support EOS. Installiere dir was noch verwendbares.
Was die Tastenkürzel angeht: Einige Programme verwalten ihre Tastenkürzel selbst. Gimp & Co müssen über GNOME eingestellt werden. Letzteres dürfte sich aber durch eine aktuelle Version bessern, da die Integration der beiden großen Welten stark entwickelt wird.

Des Weiteren kommt es auch auf die Tastatureinstellungen an, da es da auch mehrere Optionen gibt. Stichwort XKB. Kann in Plasma über die Tastatureinstellungen eingerichtet werden.

colombo1980

(Themenstarter)
Avatar von colombo1980

Anmeldungsdatum:
23. September 2008

Beiträge: 1281

Danke für eure Ideen – Die Shortcuts und die KDE Einstellungen hierzu kenne ich natürlich. "Strg+N" war dort als allgemein "Neu" auch aktiviert und "Strg+t" für etwas anderes war auch aktiviert. Habe testweise beide auch mal deaktiviert aber: keine Änderung, auch nicht nach Ab- und neu Anmelden. Macht ja auch keinen Sinn, zumindest mit der rechten (!) Strg-Taste und "t" kann ich ja auch neue Tabs öffnen. "Strg+n" funktioniert weiterhin gar nicht, auch nicht LibreOffice, Kate, Inkscape usw.

In Firefox' about:config ist prefer_native_key_bindings_over_builtin_shortcut_key_definitions bereits auf TRUE, aber das Strg+t-Problem ist ja genauso auch in Dolphin, Chromium, gedit usw. Es ist kein Firefox-Problem.

QT ist 5,12,8, ja, ich warte normalerweise, bis Ubuntu mir von selbst sagt, dass die neue LTS zur Verfügung steht (das ist glaube ich immer passend zur 22.04.1-Version). Denkst, ich sollte das Upgrade mal anstoßen? Ich befürchte, dass diese fehlerhafte Einstellung einfach übernommen wird. Und eine komplette Neuinstallation kommt für diesen Bug nicht in Frage – dafür musste ich zu viele Hardware Dinge einstellen, in die ich mich dann erneut einarbeiten müsste. Dann lebe ich lieber noch mit einer kaputten Konfiguration und wechsele irgendwann zu etwas anderem. Habt ihr noch mehr Ideen?

ChickenLipsRfun2eat Team-Icon

Supporter
Avatar von ChickenLipsRfun2eat

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12070

colombo1980 schrieb:

…Denkst, ich sollte das Upgrade mal anstoßen?

Wie du schreibst, lokale Konfigurationen werden mitgeschleppt. Generell denke ich das natürlich. Gerade bei Kubuntu solltest du jede STS mitnehmen, nicht nur LTS-Releases.

…Habt ihr noch mehr Ideen?

Die üblichen. Was für eine Tastatur hast du da? An welchem Controller?

Mit sudo evtest kannst ermitteln, welche Signale da wirklich vom Kernel ausgespuckt werden. Der kennt auch KEY_LEFTCTRL und KEY_RIGHTCTRL. Bei manchen Keyboards ist die rechte auch mal Menü oder wird sonstwie gemappt.

Ansonsten bitte im Codeblock zeigen:

grep -A4 -B8 120013 /proc/bus/input/devices
localectl
cat ~/.config/kxkbrc

colombo1980

(Themenstarter)
Avatar von colombo1980

Anmeldungsdatum:
23. September 2008

Beiträge: 1281

Super Idee mit der externen Tastatur (die ich jetzt mal ans Laptop HP Pavilion angeschlossen): Dort funktioniert alles wie es soll!

Aber die habe ich fast nie... Deshalb leider keine Lösung. sudo evtest zeigt mir beide Tasten sauber an:

Event: time 1658655472.083038, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1d
Event: time 1658655472.083038, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1658655472.083038, -------------- SYN_REPORT ------------
Event: time 1658655472.173559, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1d
Event: time 1658655472.173559, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0
Event: time 1658655472.173559, -------------- SYN_REPORT ------------
Event: time 1658655473.710091, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9d
Event: time 1658655473.710091, type 1 (EV_KEY), code 97 (KEY_RIGHTCTRL), value 1
Event: time 1658655473.710091, -------------- SYN_REPORT ------------
Event: time 1658655473.840234, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9d
Event: time 1658655473.840234, type 1 (EV_KEY), code 97 (KEY_RIGHTCTRL), value 0
Event: time 1658655473.840234, -------------- SYN_REPORT ------------

(Die externe Tastatur ergibt die gleichen Werte.) Hier noch die Ausgaben ohne, dass die externe Tastatur angeschlossen ist:

felix@felix-HP-Pavilion-Gaming-Laptop-15-ec0xxx:~$ grep -A4 -B8 120013 /proc/bus/input/devices
 
I: Bus=0011 Vendor=0001 Product=0001 Version=ab83
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input3
U: Uniq=
H: Handlers=sysrq kbd event3 leds 
B: PROP=0
B: EV=120013
B: KEY=20000 20 0 0 1500f02100000 3803078f900d401 feffffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7

felix@felix-HP-Pavilion-Gaming-Laptop-15-ec0xxx:~$ localectl
   System Locale: LANG=de_DE.UTF-8
       VC Keymap: n/a
      X11 Layout: de
       X11 Model: pc105
felix@felix-HP-Pavilion-Gaming-Laptop-15-ec0xxx:~$ cat ~/.config/kxkbrc
[Layout]
DisplayNames=,
LayoutList=de,us
LayoutLoopCount=-1
Model=pc101
Options=terminate:ctrl_alt_bksp
ResetOldOptions=true
ShowFlag=false
ShowLabel=true
ShowLayoutIndicator=true
ShowSingle=true
SwitchMode=Global
Use=true

Dann werd ich zukünftig vielleicht auch mal die STS Versionen probieren. Hatte früher Probleme damit, aber das ist viele Jahre her.

EDIT: Auch unter Win11 ist es falsch! Es muss also irgendwie am BIOS liegen...? Aktuelle Version habe ich dort, aber ich prüfe es nochmal nach. Das Verhalten der FN-Taste (deaktivieren/aktivieren) umzuschalten hilft leider auch nichts. Weitere Keyboard Einstellungen sehe ich dort nicht.

Edit2: BIOS Update eingespielt. Problem bleibt. Ich denke, es ist ein Problem des Geräts (HP Pavilion), nicht der Konfiguration. Wenn überhaupt wird mir da wohl nur der Service von HP helfen können. Dennoch danke an euch!

ChickenLipsRfun2eat Team-Icon

Supporter
Avatar von ChickenLipsRfun2eat

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12070

colombo1980 schrieb:

…Es muss also irgendwie am BIOS liegen...?

Nee. Am Hersteller. Im Kernel sind jede Menge Workarounds für diverse Tastaturen drin (HP, Dell, Toshiba,…), die teilweise kein release-Signal senden oder sonstige Teile der HID (human interface device)-Schnittstelle ignorieren. Modernere Tastaturen werden da aber nicht mehr abgedeckt, da das an UDEV delegiert wurde, welches wiederum ne Hardwaredatenbank konsultiert, etc. pp. Ich beschäftige mich schon lange mit Tastaturen und hab es immer noch nicht ganz verstanden. Ein irres gemappe, um möglichst alle Tastaturen abzudecken. Egal.

Interessant wäre noch welcher Tastaturtreiber verwendet wird.

# Möglichkeit 1:
lsmod | grep -E 'hid|atkbd|i2c'
# präziser, aber ohne Kernelmodulnamen
grep DRIVER /sys/devices/platform/i8042/serio0/uevent

Um auf Kernelebene was zu ändern gäbe es zwei möglicherweise sinnvolle Bootoptionen

i8042.direct=1
# oder
i8042.debug=1 i8042.unmask_kbd_data=1

Beide solltest du nicht in GRUB ändern, sondern manuell beim Neustart über „e“ (edit) eintragen, falls die Tastatur gar nicht mehr reagiert oder sonst ein Chaos produziert. Ist dann mit einem Neustart erledigt. (unmask braucht den Debugmodus, deswegen ist der aktiv, siehe kernel parameters. Da findest du noch weitere, zum bspw. reset kann auch manchmal helfen. Den Modus solltest du nicht umstellen, wir bleiben schön bei unicode 😉

Der nächste Schritt ist das Mapping in XKB. Da hast du nur terminate aktiv, also den „Affengriff“, allerdings unterschiedliche Modelle angegeben. localectl sagt pc105 (Standard-europäische Tastatur mit Nummernblock) und in Plasma pc101 (Standard-US-Tastatur mit Nummernblock). Je nachdem was bei dir verbaut ist, könntest du das anpassen. Da ich die KEY-Zeile nicht einfach so lesen kann: Hast du eine LSGT-Taste (zwischen LSHIFT und Y, bedruckt mit <>|)? Dann wäre pc105 passender. An CTRL wird da aber an sich nichts geändert.
Kubuntu 20.04 nutzt glaube ich noch den XServer, also könntest du dir das Ergebnis des Mappings mit xev angucken (aus x11-utils).

Tippe beim Testen auch mal die Kombinationen, die du verwendest, nicht nur die einzelnen Tasten. Ich kann bspw. mit Fn+w einen ACPI-Error auslösen.

//edit: 104 wäre die Standard-US. 101 ist ohne Supertaste, etc.

colombo1980

(Themenstarter)
Avatar von colombo1980

Anmeldungsdatum:
23. September 2008

Beiträge: 1281

Jetzt, wo ich weiß, wonach ich suchen muss, merke ich auch, dass die Strg+z nicht funktioniert für "rückgängig". Strg+y für "nochmal" hingegen schon. Es ist besonders ärgerlich, weil ich viel mit Texten arbeite.

felix@felix-HP-Pavilion-Gaming-Laptop-15-ec0xxx:~$ lsmod | grep -E 'hid|atkbd|i2c'
hid_multitouch         28672  0
mac_hid                16384  0
hid_logitech_hidpp     49152  0
hid_logitech_dj        28672  0
usbhid                 65536  1 hid_logitech_dj
i2c_algo_bit           16384  1 amdgpu
hid_generic            16384  0
i2c_hid_acpi           16384  0
i2c_hid                32768  1 i2c_hid_acpi
i2c_piix4              28672  0
hid                   147456  8 i2c_hid,usbhid,hid_multitouch,hid_generic,hid_logitech_dj,hid_logitech_hidpp
felix@felix-HP-Pavilion-Gaming-Laptop-15-ec0xxx:~$ grep DRIVER /sys/devices/platform/i8042/serio0/uevent
DRIVER=atkbd

i8042.direct=1 oder i8042.debug=1 i8042.unmask_kbd_data=1 werde ich gleich mal testen habe ich getestet, keinen Unterschied.

Ich habe ein thailändisches Modell (https://support.hp.com/us-en/product/hp-pavilion-gaming-15-ec0000-laptop-pc-series/29322788/model/31593671), das auf amerikanischer Tastatur aufgebaut ist (mit separatem Ziffernblock). Leider ist keine LSGT-Taste verbaut, weshalb ich für ein ... | grep ... auch immer kurz zur amerikanischen Tastatur wechseln muss.

Und ja, ich nutze XServer, kein Wayland. Da habe ich mich noch nicht drangetraut, weil ich bissel Angst um meine Konfiguration (NVidia gepaart mit AMD) sowie ein paar Apps habe, die evtl. X benötigen. z.B. kupfer. env gibt bei links, danach rechts:

KeyPress event, serial 40, synthetic NO, window 0x5a00001,
    root 0x749, subw 0x0, time 3527892, (167,-8), root:(1038,434),
    state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x5a00001,
    root 0x749, subw 0x0, time 3528025, (167,-8), root:(1038,434),
    state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 40, synthetic NO, window 0x5a00001,
    root 0x749, subw 0x0, time 3528936, (167,-8), root:(1038,434),
    state 0x10, keycode 105 (keysym 0xffe4, Control_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x5a00001,
    root 0x749, subw 0x0, time 3529095, (167,-8), root:(1038,434),
    state 0x14, keycode 105 (keysym 0xffe4, Control_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

und mit Strg+t (zuerst link, dann rechts) gibt es bei links Strg+t ebenfalls keine Reaktion, mit rechts hingegen schon:

KeyPress event, serial 40, synthetic NO, window 0x1a00001,
    root 0x749, subw 0x0, time 3708236, (160,-11), root:(1031,431),
    state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x1a00001,
    root 0x749, subw 0x0, time 3709301, (160,-11), root:(1031,431),
    state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 40, synthetic NO, window 0x1a00001,
    root 0x749, subw 0x0, time 3711701, (160,-11), root:(1031,431),
    state 0x10, keycode 105 (keysym 0xffe4, Control_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 40, synthetic NO, window 0x1a00001,
    root 0x749, subw 0x0, time 3712337, (160,-11), root:(1031,431),
    state 0x14, keycode 28 (keysym 0x74, t), same_screen YES,
    XLookupString gives 1 bytes: (14) ""
    XmbLookupString gives 1 bytes: (14) ""
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x1a00001,
    root 0x749, subw 0x0, time 3712425, (160,-11), root:(1031,431),
    state 0x14, keycode 28 (keysym 0x74, t), same_screen YES,
    XLookupString gives 1 bytes: (14) ""
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x1a00001,
    root 0x749, subw 0x0, time 3713016, (160,-11), root:(1031,431),
    state 0x14, keycode 105 (keysym 0xffe4, Control_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

ChickenLipsRfun2eat Team-Icon

Supporter
Avatar von ChickenLipsRfun2eat

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12070

Fällt dir im letzten Codeblock was auf? Da kommt gar kein „t“ an, wenn du die linke Controltaste nutzt. Schau mal im UEFI, ob du da was in der Art „swap fn with control“ findest und ob das an oder aus ist. Das tauscht im Tastaturcontroller Fn mit Strg. Dann müsste mit Fn+t das Terminal aufgehen. Könnte mir vorstellen, das das schon die Lösung sein kann.

Als „dirty workaround“ würde ich jetzt einfach die linke Ctrl auf die rechte mappen. Aber nur, wenn sie nicht der Fn-Key ist. Also erst nachgucken.

Ansonsten fällt mir auf, das bei dir usbhid geladen ist. Das brauchst für Geräte, die „nicht so ganz konform“ implementiert sind. Deine Tastatur ist aber ein PS/2-Modell und durchläuft den üblichen Workaround-Prozess in atkbd. Nur falls irgendwelche USB-Geräte zicken haste schon mal einen Anhaltspunkt. Die Treiber sind aber sehr gut geschrieben, falls sich das jetzt etwas negativ liest.

Ne LSGT-Taste brauchste ja nicht zwingend. Ich hab auch keine und da wo ich sie habe ist das meine „Franzosentaste“ für Akzente und Cedille. Das ist aber weiter oben in der Nahrungskette. Lass uns erstmal die Steuerungssequenzen reparieren.

colombo1980

(Themenstarter)
Avatar von colombo1980

Anmeldungsdatum:
23. September 2008

Beiträge: 1281

Danke dir, ChickenLipsRfun2eat, ich glaube du hast mir schon so oft geholfen!

Die Fn-Taste ist separat, ich werde das remappen mal (ver)suchen, z.B. https://linuxconfig.org/reprogram-keyboard-keys-with-xmodmap. Scheint mir das Unkomplizierteste. Und ja, im letzten Test mit "env" wurde das "t" gar nicht registriert, mit gedrückter LStrg – es ist extrem seltsam. In Win11 ja das Gleiche... Ins UEFI (dort heißt es noch BIOS Setup Utility) schaue ich nochmal rein, aber bis auf "activate/deactive action key" (Fn-Taste) ist mir da nichts aufgefallen. Es ist eines der alten, eher basalen nur-Text-Dinger.

ChickenLipsRfun2eat Team-Icon

Supporter
Avatar von ChickenLipsRfun2eat

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12070

colombo1980 schrieb:

Danke dir, ChickenLipsRfun2eat, ich glaube du hast mir schon so oft geholfen!

Bitte. Solange du das keinem weiterverrätst, ist alles gut 😉

Die Fn-Taste ist separat, ich werde das remappen mal (ver)suchen, z.B. https://linuxconfig.org/reprogram-keyboard-keys-with-xmodmap

XModmap kannst du versuchen, muss aber nicht funktionieren. Das ist seit etwa 25 Jahren deprecated, sprich, wird offiziell gar nicht mehr unterstützt, seit XKB (X Keyboard Extention) eingeführt wurde. Außerdem werden solche Änderungen von der GUI überschrieben. XModmap ändert direkt was im XServer passiert, also noch vor XKB. ⇨ Ausprobieren.

Falls das nicht funktioniert, könntest du evdev manipulieren. Hält aber nur bis zum nächsten Upgrade der xkeyboard-config.

Ob dein UEFI/BIOS den klassischen Textmodus verwendet oder nicht, sagt nix aus. Ist das Gerät jünger als 2008 hat es wohl UEFI, ist es jünger als 2012 ist das sicher (da Windows drauf läuft und die das eingeführt haben). Da das mit der Taste in Windows auch so ist, denke ich eben an UEFI und nicht an einen falschen Treiber, o.ä. Du kannst die deactivate ja mal umstellen und gucken was passiert.

colombo1980

(Themenstarter)
Avatar von colombo1980

Anmeldungsdatum:
23. September 2008

Beiträge: 1281

ok, ich werde mal ausprobieren die nächsten Tage.

Gerät ist von ca. 2019 und kam mit Win10, also vermutlich UEFI, auch wenn BIOS drüber steht, ist ja egal, Einstellungsmöglichkeiten gibt es eh nicht und activate/deactivate hatte ich weiter oben schon ausprobiert (brachte nix).

ChickenLipsRfun2eat Team-Icon

Supporter
Avatar von ChickenLipsRfun2eat

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12070

Definitiv UEFI. Dann versuch es mal mit XModmap. Wenn das nicht klappt mit

[sudo] sed -i 's@<LCTL> = 37;@<LCTL> = 105;@' /usr/share/X11/xkb/keycodes/evdev 

Danach neu einloggen / neustarten und mit xev prüfen, ob die linke Ctrl nun als rechte erkannt wird.

colombo1980

(Themenstarter)
Avatar von colombo1980

Anmeldungsdatum:
23. September 2008

Beiträge: 1281

Oha, habe es Xmodmap versucht und das hat sogar temporär meine Grafik zerschossen (d.h. irgendwas mit der AMD/Nvidia Konfiguration), sodass z.B. conky transparent wurde (was er nicht sollte), onboard zweimal geladen wurde, PSensor nicht minimiert geladen wurde usw. und insgesamt alles langsamer war... Nach mehreren Neustarts und dem Löschen der .Xmodmap war alles wieder ok.

Nach

sudo sed -i 's@<LCTL> = 37;@<LCTL> = 105;@' /usr/share/X11/xkb/keycodes/evdev

wird LStrg zwar erkannt in xev (weiterhin Code 37), aber LStrg ist nun komplett deaktiviert. Wie kann ich das wieder rückgängig machen?

Ich glaube ich gebe hier nun aber – dankend – auf.

Antworten |