Forum: PC Hard- und Software Wie funktionieren Sondertasten auf einer PC Tastatur ?


von J. V. (janvi)


Angehängte Dateien:

Lesenswert?

Habe unter GNOME eine (Full Size) HID Tastatur von Cherry Modell KC1000. 
Diese hat wie viele andere (USB ?) Tastaturen in voller Größe oben 
rechts vier Sondertasten. Tatsächlich kann man damit selbst unter GNOME 
den Taschenrechner und das das Email programm (ich benutze einen 
nachinstallierten Thunderbird) aufrufen. Ist ein Browser offen, so geht 
dieser mit der dritten Taste auf die Default Seite. Mit dem Mondsymbol 
schaltet sich der Bildschirm schwarz und ich krieg ihn nur noch durch 
neu Booten nach einem Hardware Reset wieder aufgeweckt.

Wenn ich dieses Java Skript benutze:

https://www.toptal.com/developers/keycode

sehe ich keinen Code für einen Tastenevent. Wie teilt die Tastatur einen 
PC unabhängig vom Betriebssystem mit, in welchem Fall welche Anwendung 
aufgerufen werden soll oder sonst was gemacht werden soll ?

Kann man die Belegung solcher Tasten selbst ändern  oder korrigieren ?

von Andreas B. (bitverdreher)


Lesenswert?

Die Tastatur teilt dem BS nur den Keycode mit.
Was das BS damit macht, bleibt ihm ueberlassen. I.A. kann man das 
Verhalten der jeweiligen Taste im BS einstellen.

von Foobar (asdfasd)


Lesenswert?

Bei USB ist das etwas komplizierter.  Kurz zusammengefasst: ein 
USB-HID-Device kann den Tasten Usage-IDs zuordnen, z.B. 
Launch-Calculator (Usage-ID 0x0192).

Hier ein Dokument dazu (319 Seiten):
  https://usb.org/sites/default/files/hut1_21.pdf

von Andreas B. (bitverdreher)


Lesenswert?

Foobar schrieb:
> Kurz zusammengefasst: ein
> USB-HID-Device kann den Tasten Usage-IDs zuordnen, z.B.
> Launch-Calculator (Usage-ID 0x0192).

D.h. aber auch nur, dass dies die default Einstellung des OS ist. 
Aendern kann man das, wie man lustig ist.

von Motopick (motopick)


Lesenswert?

J. V. schrieb:

> Wenn ich dieses Java Skript benutze:
>
> https://www.toptal.com/developers/keycode
>
> sehe ich keinen Code für einen Tastenevent. Wie teilt die Tastatur einen
> PC unabhängig vom Betriebssystem mit, in welchem Fall welche Anwendung
> aufgerufen werden soll oder sonst was gemacht werden soll ?
>
> Kann man die Belegung solcher Tasten selbst ändern  oder korrigieren ?

PLENK!

Weil das versch....ne Javascript als letzter in der Fresskette
nur bereits "vorverdaute" Codes empfangen kann.
Diese Tasten senden ganz normale bzw. extended Scancodes(!)
an den Rechner, die von verschiedenen(!) Ebenen ausgewertet werden.
Die kann man unter Windows bereits im Kernel remappen.
1
REGEDIT4
2
3
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
4
"Scancode Map"=hex:00,00,00,00,00,00,00,00,\
5
06,00,00,00,\
6
1d,e0,3a,00,\
7
45,00,56,00,\
8
3a,00,45,00,\
9
49,e0,33,e0,\
10
51,e0,34,e0,\
11
00,00,00,00

Unter Linux sollte das mit "loadkeys" und den dazugehoerigen
Konfigdateien fuer die Konsole bzw. xmodmap fuer X gehen.

Die Applikationszuordnung ist nur teilweise konfigurierbar.
1
REGEDIT4
2
3
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey]
4
5
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\15]
6
"Association"="mailto"
7
8
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\16]
9
"Association"=".cda"
10
11
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\17]
12
"ShellExecute"="::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"
13
14
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\18]
15
"ShellExecute"="calc.exe"
16
17
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\7]
18
"Association"="http"

Einige weitere gibt es noch, z.B. die 5 fuer die "Suche".
Etwas aehnliches wird sich auch im Gnome oder KDE verstecken. :)

von Andreas B. (bitverdreher)


Lesenswert?

Motopick schrieb:
> Unter Linux sollte das mit "loadkeys" und den dazugehoerigen
> Konfigdateien fuer die Konsole bzw. xmodmap fuer X gehen.

Das geht in Gnome mit Einstellungen -> Tastenkombinationen noch viel 
einfacher.

von Εrnst B. (ernst)


Lesenswert?

mit "xev" kannst du dir das Event anschauen, was die Taste an X11 
schickt:
1
KeyRelease event, serial 41, synthetic NO, window 0x9c00001,
2
    root 0x76e, subw 0x9c00002, time 1038673312, (34,40), root:(2594,1339),
3
    state 0x10, keycode 148 (keysym 0x1008ff1d, XF86Calculator), same_screen YES,
4
    XLookupString gives 0 bytes: 
5
    XFilterEvent returns: False

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.