24.04.2024, 15:19 UhrDeutsch | English
Hallo Gast [ Registrierung | Anmelden ]

Neues Thema eröffnen   Neue Antwort erstellen
Vorheriges Thema anzeigen Druckerfreundliche Version Einloggen, um private Nachrichten zu lesen Nächstes Thema anzeigen
Autor Nachricht
Amateur
Titel: 'getkeycode' und Tastenkeycodes brauche Erläuterung  BeitragVerfasst am: 23.06.2006, 15:43 Uhr



Anmeldung: 30. Mai 2006
Beiträge: 9

Hallo

Es gibt Schwierigkeiten mit dem Komando oder besser mit der Ausgabe von 'getkeycode'.
Es geht darum die Zusatztasten von meinem Laptop HP nx6125 zu aktivieren.
Diese Tasten haben von Haus aus keinen Keycode. Ich habe dazu ein interessanntes HowTo in einem Gentoo Forum gefunden:http://de.gentoo-wiki.com/Multimediatasten
Es verhällt sich genau so wie beschrieben, auch die Fehlermeldung in /var/log/messages sind vorhanden.
Mein Ziel ist es nun mit 'setkeycode' der Taste den notwendigen Keycode zuzuornen. Dazu sollen mittels 'keycode' nach „freien“ Keycodes gesucht werden. Das Komando habe ich ausgeführt mit folgendem Ergebnis:
root@LinuxLap:’# getkeycodes[color=darkblue]
Einfache Scancodes xx (hexadezimal 1) und Tastencodes (dezimal)
for 1-83 (0x01-0x053) scancode equals keycode

0x50: 80 81 82 83 84 0 86 87
0x58: 88 117 0 0 95 183 184 185
0x60: 0 0 0 0 0 0 0 0
0x68: 0 0 0 0 0 0 0 0
0x70: 93 0 0 89 0 0 85 0
0x78: 90 92 0 94 0 124 121 0

Scancodes mit Escape e0 xx (hex)

e0 00: 0 0 0 0 0 0 0 0
e0 08: 0 0 0 0 0 0 0 0
e0 10: 165 0 0 0 0 0 0 0
e0 18: 0 163 0 0 96 97 0 0
e0 20: 113 140 164 0 166 0 0 0
e0 28: 0 0 255 0 0 0 114 0
e0 30: 115 0 150 0 0 98 255 99
e0 38: 100 0 0 0 0 0 0 0
e0 40: 0 0 0 0 0 119 119 102
e0 48: 103 104 0 105 112 106 118 107
e0 50: 108 109 110 111 0 0 0 0
e0 58: 0 0 0 125 126 127 116 142
e0 60: 0 0 0 143 0 217 156 173
e0 68: 128 159 158 157 155 226 0 112
e0 70: 0 0 0 0 0 0 0 0
e0 78: 0 0 0 0 0 0 0 0
[/color]
Ich hatte eigentlich etwas anderes ehofft, zB alle meine Tasten schön der Reihe nach mit den dazugehörigen Keycodes oder irgendetwas, mit dem ich etwas anzufangen weiß.
Jetzt die Fage:
Hat schon mal jemand dieses Komando benutzt oder kann mir jemand bei der Deutung dieser Zahlenkette helfen?
Da ich selber keine Ahnung habe wäre ich für jede Hilfe dankbar.

Michel
 
 Benutzer-Profile anzeigen Private Nachricht senden  
Antworten mit Zitat Nach oben
schnorrer
Titel:   BeitragVerfasst am: 23.06.2006, 16:40 Uhr



Anmeldung: 09. Jan 2006
Beiträge: 1720

eine Tastatur besteht aus XX-Tasten. Jeder Taste ist ein Wert zugeordnet Zichen gibt es aber mehr als Tasten. deshlb sind einige Tasten mit Sonder-Codes die bei einem weiteren Tastendruck noch einen weitern Wert zur Taste mitsenden.

1 bis 126 sind die Nummer der Taste.
E0 80 F0 sind Codes die der ErweitertenTastenCodierung dienen.

Zum dekodieren einer Taste Braucht man 2 Codes. "make" 1 - 126 und 0 als "Break" Taste losgelassen erst mit dieser Srq. aus Make und Break ergibt sich der Zugehörige Wert der Taste. Der PC schaut in einer Tabelle (Zeichensatz) nach welches Zeichen weitergeleitet werden soll.

code 80 00 heißt ShiftTaste und es folgt noch ein weiterer Tasten Code. Eine 2. Tabelle sagt dann Welcher Wert.

code E0 00 heißt CTRL-gedrückt ........

Hoffe das ist soweit klar.
 
 Benutzer-Profile anzeigen Private Nachricht senden  
Antworten mit Zitat Nach oben
Amateur
Titel:   BeitragVerfasst am: 23.06.2006, 18:46 Uhr



Anmeldung: 30. Mai 2006
Beiträge: 9

Danke für die Antwort
<...soweit klar> na ja Eigentlich nicht.

Die Tabellen haben so wenige Zeilen auf jeden Fall wesentlich weniger als 126. Wo sind die anderen Tasten (ich dachte 'getkeycodes' gibt alle Tastencodes aus)?
Irgendwo in den "unendlichen Weiten" des Basisordners muß das doch stehen?

'xev | grep -A2 Key' und Fehlermeldung meiner zwei Spezialtasten gibt denke ich den ganzen Code aus.
Für meine Xmodmap brauche ich aber eine Zahl 1 - 126 oder 127, 128 (Die beiden Tasten gehören nicht zur Tastatur).

Ich suche vermutlich nicht den code sondern die Nummer (obwohl die keycode XXX heist).

Ich kann halt nur spekulieren.
Michel
 
 Benutzer-Profile anzeigen Private Nachricht senden  
Antworten mit Zitat Nach oben
Hack-o-Master
Titel:   BeitragVerfasst am: 23.06.2006, 22:09 Uhr



Anmeldung: 05. Apr 2005
Beiträge: 499
Wohnort: Bielefeld <:-P
Hier läuft (derzeit) eine Logitech (Modellbezeichnung Y-RR53) mit per scankeycodes definierten Mappings für die Zusatztasten und lineak für die Funktionsbelegung der Tasten unter KDE.

1. Über die 'Fehlermeldungen' undefinierter Tasten herausgefundenen Scancodes (atkbd.c...) im syslog (freie)Keycodes zugewiesen:
Code:
#
# Keycodes for Logitech MM-Keyboard
# um Funktion von lineakd zu gewährleisten (siehe auch /etc/lineakkb.def, ~/.lineak/lineak.conf)
#
  setkeycodes e001 230       # Window
  setkeycodes e011 145       # Messenger
  setkeycodes e013 147       # Media_Music
  setkeycodes e014 148       # Media_Video
  setkeycodes e015 149      # Media_Picture
  setkeycodes e01f 161         # Calculator
  setkeycodes e02d 203      # Remote Control 
  setkeycodes e02f 204      # Eject
  setkeycodes e031 205      # Microphone?
  setkeycodes e055 213      # My Doc
  setkeycodes e074 214      # Webcam
  setkeycodes e075 215      # Status
  setkeycodes e078 216      # Record
Um sie bei jedem Rechnerneustart zu setzen z.B. in /etc/init.d/bootmisc.sh o.ä. mit aufnehmen.
Danach sah die Ausgabe von getkeycodes so aus:
Code:
root@Jacobsen:/home/jacobsen# getkeycodes
Einfache Scancodes xx (hexadezimal) und Tastencodes (dezimal)
for 1-83 (0x01-0x53) scancode equals keycode

 0x50:   80  81  82  83  84   0  86  87
 0x58:   88 117   0   0  95 183 184 185
 0x60:    0   0   0   0   0   0   0   0
 0x68:    0   0   0   0   0   0   0   0
 0x70:   93   0   0  89   0   0  85  91
 0x78:   90  92   0  94   0 124 121   0

Scancodes mit Escape e0 xx (hex)

e0 00:    0 230   0   0   0   0   0   0
e0 08:    0   0   0   0   0   0   0   0
e0 10:  165 145   0 147 148 149   0   0
e0 18:    0 163   0   0  96  97   0 161
e0 20:  113 140 164   0 166   0   0   0
e0 28:    0   0 255   0   0 203 114 204
e0 30:  115 205 150   0   0  98 255  99
e0 38:  100   0   0   0   0   0   0   0
e0 40:    0   0   0   0   0 119 119 102
e0 48:  103 104   0 105 112 106 118 107
e0 50:  108 109 110 111   0 213   0   0
e0 58:    0   0   0 125 126 127 116 142
e0 60:    0   0   0 143   0 217 156 173
e0 68:  128 159 158 157 155 226   0 112
e0 70:    0   0   0   0 214 215   0   0
e0 78:  216   0   0   0   0   0   0   0


2. In der Datei /etc/lineakkb.def die Tastatur (Eintrag LT-YRR53) angepasst. Hinweis hier müssen dann die Keycodes hinein die xev beim Drücken der jew. Taste anzeigt (Böse Falle das).
Code:
[LT-YRR53]
  #
  # Keycodes for Logitech MM-Keyboard (activated in /etc/init.d/bootmisc_my.sh)
  # um Funktion von lineakd zu gewährleisten (siehe auch /etc/lineakkb.def, ~/.lineak/lineak.conf)
  #
  #setkeycodes e001 230    # Window
  #setkeycodes e011 145    # Messenger
  #setkeycodes e013 147    # Media_Music
  #setkeycodes e014 148    # Media_Video
  #setkeycodes e015 149      # Media_Picture
  #setkeycodes e01f 161      # Calculator
  #setkeycodes e02d 203      # Remote Control?? 
  #setkeycodes e02f 204      # Eject
  #setkeycodes e031 205      # Microphone??
  #setkeycodes e055 213      # My Doc
  #setkeycodes e074 214      # Webcam
  #setkeycodes e075 215      # Status
  #setkeycodes e078 216      # Record??
  brandname = "Logitech"
  modelname = "Cordless Keyboard Y-RR53, USB/PS2"
  [KEYS]
# Volume controls
    AudioLowerVolume = 174
    AudioRaiseVolume = 176
    AudioMute        = 160
# Media Controls
    AudioPrev        = 144
    AudioNext        = 153
    AudioPlay|Pause  = 162
    AudioStop        = 164
    AudioMedia       = 237
# Top Right
    Sleep            = 223
    Calculator        = 161   #setkeycodes e01f 161
    Mail             = 236
    Messenger_SMS    = 199    #setkeycodes e011 145
    Status           = 120    #setkeycodes e075 215
    Webcam           = 119    #setkeycodes e074 214
# Left Area
    #iTouch          = ! button 2
    Search           = 229
    #Shopping        = ! button 2
    Window        = 217    #setkeycodes e001 230
    WWW              = 178
    Back             = 234
    Go               = 233
# F-Key Alternates (Missing)
    Eject|Close      = 173    #setkeycodes e02f 204
    Video_App        = 159    #setkeycodes e014 148
    Music_App        = 147    #setkeycodes e013 147
    Picture_App      = 151    #setkeycodes e015 149
    My_Doc           = 118    #setkeycodes e055 213
  [END KEYS]
[END LT-YRR53]


3.Die per User Konfiguration von lineakd für die Definition der Aktionen bei Tastendruck (~/.lineakd/lineakd.conf):
Code:
# LinEAK - Linux support for Easy Access and Internet Keyboards
#  Copyright (c) 2001,2002, 2003  Sheldon Lee Wen <leewsb@hotmail.com>
#     and Mark Smulders <Mark@PIRnet.nl>
#  http://lineak.sourceforge.net
#
# lineakd configuration file
#
# example key configuration:
#    play   = "xmms --play-pause"
#    eject   = EAK_EJECT
#
# Lineakd supports the following modifier keys:
#    control alt shift mod2 mod3 mod4 mod5

CdromDevice = /dev/dvdrumms
Display_align = center
Display_color = 0aff00
Display_font = -adobe-helvetica-bold-r-normal-*-*-240-*-*-p-*-*-*
Display_hoffset = 0
Display_plugin = xosd
Display_pos = bottom
Display_soffset = 1
Display_timeout = 3
Display_voffset = 50
KeyboardType = LT-YRR53
MixerDevice = /dev/mixer
RAWCommands =
Screensaver =
conffilename = /home/jacobsen/.lineak/lineakd.conf
keystate_capslock =
keystate_numlock =
keystate_scrolllock =

AudioLowerVolume = EAK_VOLDOWN(3)
AudioRaiseVolume = EAK_VOLUP(3)
AudioMute = EAK_MUTE(10000)
#
AudioPrev = "dcop `dcop|grep amarok` player prev &>/dev/null"
AudioNext = "dcop `dcop|grep amarok` player next &>/dev/null"
AudioPlay|Pause = "dcop `dcop|grep amarok` player playPause &>/dev/null"
AudioStop = "dcop `dcop|grep amarok` player stop &>/dev/null"
AudioMedia = "amarok"
#
Sleep = KDE_LOCK_DESKTOP
Calculator = "kcalc"
Mail = "kmail"
Messenger_SMS = ""
Status = "kinfocenter"
Webcam = "kdetv"
#
Search = "konqueror http://www.google.de"
Window = KDESKTOP_NEXT
Window+shift = KDESKTOP_PREVIOUS
WWW = KONQUEROR_HOME
Back = KONQUEROR_BACK
Go = ""
#
Eject = EAK_OPEN_TRAY(/dev/dvdrumms,/dev/branntschwein)
Close = EAK_CLOSE_TRAY(/dev/dvdrumms,/dev/branntschwein)
#
Video_App = "xine"
Music_App = "xmms"
Picture_App = "gimp"
My_Doc = KONQUEROR_HOME


4. Sicherstellen das lineakd für den jew. User gestartet wird damit Tasten funktionieren ( ~/.kde/Autostart o.ä.)

Im Debian-Repository vorhandene (und hier installierte) Pakete zu lineak: liblineak0, lineak-defaultplugin, lineak-kdeplugins, lineak-xosdplugin, lineakd

mfg. Hack-o-Master

_________________
sidux2007-02 64Bit, Kernel 2.6.23rc..(Crypto-root), X.org 7.3, KDE 3.5.7
http://bernd-das-brot.de.be | Gästebuch , certified B.O.F.H.
 
 Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen  
Antworten mit Zitat Nach oben
Amateur
Titel:   BeitragVerfasst am: 24.06.2006, 19:28 Uhr



Anmeldung: 30. Mai 2006
Beiträge: 9

Hallo Haco-o-Master

Also so richtig habe ich immer noch nicht geblickt, was mir 'getkeycodes' alles sagen will.
Aber wichtig ist, daß ich nicht vorhandene Zahlen bei 'setkecodes e059 XXX' verwende.
Das habe ich gemacht in dem Fall 133 und habe danach mit 'xev | grep -A2 Key' die Ausgabe ...keycode 140... bekommen????
Aber besser als vorher. Ich hab' das einfach in meine 'Xmodmap' eigetragen und eine F14- Taste daraus gemacht, welche ich dann im Kontrollzentrum einem Programm zuordnen konnte.

Ganz schön umständlich, aber wenn's funktioniert, bei Dir ist es ja ähnlich.
Jetzt muß ich nur noch das „setkeycodes- Script“ automatisch ausführen - vor meiner Xmodmap also vor kde.

Dazu muß das Script irgendwohin. Hier im Forum stand schon mal was dazu.
Dort sollte es nach '/usr/local/bin'.
Was ist der richtige Ort und wem muß es göhren (vermutlich root) und weche Berechtigungen? Und wie darf ich es nennen?

Das nächste ist das Ausführen der Datei.
Was und an welcher Stelle mußl dazu in die Datei '/etc/init.d/bootmisc.sh' eingetragen werden?

Noch eine andere Frage. Das ist mir schon öfter augefallen, wenn ich in einem Schell- Scrip die Zeilen mit # oder ! einleite, werden diese „überspungen“?
Dann kann ich quasi einen Komentar hinschreiben?
Aber wo endet solch eine Zeile – beim nächsten 'ENTER' oder wo?

Grüße Michel
 
 Benutzer-Profile anzeigen Private Nachricht senden  
Antworten mit Zitat Nach oben
Hack-o-Master
Titel:   BeitragVerfasst am: 24.06.2006, 20:18 Uhr



Anmeldung: 05. Apr 2005
Beiträge: 499
Wohnort: Bielefeld <:-P
Amateur hat folgendes geschrieben::
Jetzt muß ich nur noch das „setkeycodes- Script“ automatisch ausführen - vor meiner Xmodmap also vor kde.
Ich habe es so gelöst, das ich unter /etc/init.d/ ein eigenes Skript namens bootmisc_my.sh erstellt habe, wo meine beim Rechnerneustart 'speziellen' Einstellungen (u.a. die setkeycodes Befehle) drin stehen und einen Link auf das Skript im Single-User Runlevel Verzeichnis als /etc/rcS.d/S55bootmisc_my.sh verlinkt habe.
Code:
Also:
- Skript nach /etc/init.d/ kopieren und ausführbar machen, und testweise aufrufen ob's FEHLERFREI durchläuft.
- Befehle (als root) ausführen:
    cd /etc/rcS.d
    ln -sf ../init.d/bootmisc_my.sh S55bootmisc_my.sh
Ein eigenes Skript hat den Vorteil, das die eigenen Einstellungen nicht überschrieben werden würden, wenn bei dist-upgrades die /etc/init.d/bootmisc.sh aktualisiert wird.
( siehe auch zum Thema runlevel: http://debiananwenderhandbuch.de/startstop.html )

Amateur hat folgendes geschrieben::
Noch eine andere Frage. Das ist mir schon öfter augefallen, wenn ich in einem Schell- Scrip die Zeilen mit # oder ! einleite, werden diese „überspungen“?
Dann kann ich quasi einen Komentar hinschreiben?
Yepp sind Kommentarzeilen.
Das geht aber auch:
Code:
ls -l /bin      # Kommentar hinter Befehlszeile
Amateur hat folgendes geschrieben::
Aber wo endet solch eine Zeile – beim nächsten 'ENTER' oder wo?
Denke schon.

mfg. Hack-o-Master

_________________
sidux2007-02 64Bit, Kernel 2.6.23rc..(Crypto-root), X.org 7.3, KDE 3.5.7
http://bernd-das-brot.de.be | Gästebuch , certified B.O.F.H.
 
 Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen  
Antworten mit Zitat Nach oben
Amateur
Titel:   BeitragVerfasst am: 25.06.2006, 15:25 Uhr



Anmeldung: 30. Mai 2006
Beiträge: 9

Hallo Hack-o-Master

Die ganze Sache scheitert noch an derVerknüpfung!
Meine Verknüpfung ( -neu – Verknüpfung zu URL) hat irgendwie ganz andere Eigenschaften als die Aderen im Verzeichnis '/etc/rs.h'.
Wie erhalte ich eine Vrknüpfung mit den richtigen Eigenschaften?

Nur damit ich weiß was ich tue:
Die Verküpfung (S71 bootmisc-my.sh) im Verzeichnis '/etc/rcS.d' wird beim booten ausgeführt, wie alles aus diesem Verzeichnis (außer REDAME usw)?, und verweist auf das Shell- script (bootmisc – my.sh) im Verzeichnis '/etc/init.d', das dort nur abgelegt ist?
Einen Namen für meine Datei kann ich mir im Prinzip selber aussuchen?

Ich hoffe ich konnte der Sache soweit folgen.
Nur warum kommt die Verknüpfung in 'rcS.d?

Grüße Michel
 
 Benutzer-Profile anzeigen Private Nachricht senden  
Antworten mit Zitat Nach oben
Beiträge vom vorherigen Thema anzeigen:     
Gehe zu:  
Alle Zeiten sind GMT + 1 Stunde
Neues Thema eröffnen   Neue Antwort erstellen
Vorheriges Thema anzeigen Druckerfreundliche Version Einloggen, um private Nachrichten zu lesen Nächstes Thema anzeigen
PNphpBB2 © 2003-2007 
 
Deutsch | English
Logos and trademarks are the property of their respective owners, comments are property of their posters, the rest is © 2004 - 2006 by Jörg Schirottke (Kano).
Consult Impressum and Legal Terms for details. Kanotix is Free Software released under the GNU/GPL license.
This CMS is powered by PostNuke, all themes used at this site are released under the GNU/GPL license. designed and hosted by w3you. Our web server is running on Kanotix64-2006.