Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Mini-Howto] Deutsche Tastatur mit hal-Unterstützung
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3369
Location: de

PostPosted: Tue Aug 12, 2008 1:15 pm    Post subject: [Mini-Howto] Deutsche Tastatur mit hal-Unterstützung Reply with quote

Da ich mich jetzt den ganzen Tag schon damit rumgeschlagen hab, die Dokumentationen zu diesem Thema aber mehr als suboptimal sind, möchte ich jetzt hier mal eine kleine Zusammenfassung geben, wie man eine Otto-Normal-Tastatur unter xorg mit HAL-Unterstützung gängig bekommt.

Achtung: Kein Anspruch auf Vollständigkeit und Richtigkeit. In der beschriebenen Variante funktioniert es bei mir.

Einleitung:
Es gibt Meinungen in der Linux-Entwickler-Welt, dass die Spezifikation der Eingabegeräte in der xorg.conf nichts zu suchen hat. Aus diesem Grund soll die Verwaltung der Eingabegeräte über den Hardware-Abstraction-Layer (HAL) realisiert werden. Xorg bekommt dann beim Start die Daten der Eingabegeräte von HAL zur Verfügung gestellt. In Verbindung mit dem evdev-Treiber bringt das Vorteile bei der automatischen Erkennung und Konfiguration von Eingabegeräten, die im laufenden Betrieb angestöpselt werden.

Ist-Zustand
Installiert man hal-5.1x, erscheint bei der Installation eine Meldung, dass die Konfiguration der Eingabegeräte von der xorg.conf in die /etc/hal/fdi/policy/10-x11-input.fdi übernommen wird. In meinem Fall war diese Datei allerdings leer. Als Folge des Ganzen kann es passieren, das beim nächsten Neustart von hal die Tastatur nur noch mit US-Layout funktioniert und eventuell einige Sondertasten (PC105, Cursortasten, Bild auf/ab) gar nicht mehr funktionieren.

Möglichkeiten zu Abhilfe dieses Problems
  1. Downgrade von hal auf Version 0.5.9. Damit läßt sich dann hal aber ab Kernel 2.6.26 nicht mehr compilieren.
  2. xorg-server ohne HAL-Unterstützung compilieren (Sofern man das globale Use-Flag hal gesetzt hat: USE="-hal" emerge -1 xorg-server)
  3. Anpassung der HAL-Policy

Die 3. Möglichkeit soll hier etwas näher beschrieben werden.

benötigte Pakete:
Es wird davon ausgegangen, dass das USE-Flag "hal" global gesetzt wurde.
  • xorg-server >= Version 1.4
  • hal >= Version 0.5.10
  • xf86-input-evdev >= Version 2


HAL-Policy:
Mit den Policies können Teile der automatisch erkannten Gerätekonfiguration umgeschrieben werden. Die Policy-Dateien befinden sich in:
Code:
/etc/hal/fdi/policy/


Suchen und Auslesen der vorhandenen Konfiguration:
Mit dem Befehl
Code:
hal-device
bekommt man alle möglichen Geräte, die hal so verwaltet, angezeigt. Da das etwas übersichtlich sein kann, muss man die Tastatur gezielt suchen. Das geht mit:
Code:
hal-find-by-capability --capability input.keyboard
Als Ausgabe bekomm ich dann:
Code:
/org/freedesktop/Hal/devices/platform_i8042_i8042_KBD_port_logicaldev_input

Mit
Code:
hal-device /org/freedesktop/Hal/devices/platform_i8042_i8042_KBD_port_logicaldev_input
kann man sich dann die Eigenschaften des Gerätes anzeigen lassen.
In meinem Fall sieht das dann so aus:
Code:
udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_KBD_port_logicaldev_input'
  input.originating_device = '/org/freedesktop/Hal/devices/platform_i8042_i8042_KBD_port'  (string)
  input.xkb.rules = 'keyboard'  (string)
  info.subsystem = 'input'  (string)
  input.xkb.model = 'pc105'  (string)
  linux.sysfs_path = '/sys/class/input/input2/event2'  (string)
  info.category = 'input'  (string)
  info.product = 'AT Translated Set 2 keyboard'  (string)
  input.xkb.layout = 'us'  (string)
  info.parent = '/org/freedesktop/Hal/devices/platform_i8042_i8042_KBD_port'  (string)
  info.capabilities = { 'input', 'input.keyboard', 'input.keypad', 'input.keys', 'button' } (string list)
  info.udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_KBD_port_logicaldev_input'  (string)
  input.xkb.variant = 'xorg'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  input.x11_driver = 'evdev'  (string)
  input.device = '/dev/input/event2'  (string)
  linux.subsystem = 'input'  (string)
  input.product = 'AT Translated Set 2 keyboard'  (string)
  linux.device_file = '/dev/input/event2'  (string)
  info.addons.singleton = { 'hald-addon-input' } (string list)


Bei xkb.layout steht "us" drin. Das wollen wir ändern. Also legen wir, wenn nicht schon vorhanden, folgende Policy an:
/etc/hal/fdi/policy/10-x11-input.fdi:
<?xml version="1.0" encoding="ISO-8859-1" ?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
        <device>
                <match key="info.capabilities" contains="input.keyboard">
                        <merge key="input.xkb.rules" type="string">evdev</merge>
                        <merge key="input.xkb.model" type="string">evdev</merge>
                        <merge key="input.xkb.layout" type="string">de</merge>
                        <merge key="input.xkb.variant" type="string">xorg</merge>
                </match>
        </device>
</deviceinfo>


xorg.conf oder war das schon alles?
Normalerweise haben wir jetzt für die Tastatur 2 Konfigurationen - eine über den HAL-Daemon und die andere über die xorg.conf. Theoretisch wäre damit die Konfiguration der Input-Section in der xorg.conf überflüssig. Als ich die Eingabegeräte mal alles auskommentiert hatte, funktionierten zwar Tastatur und Mouse, die Tastatur war aber wieder auf US-Layout.

Aktivierung des deutschen Tastatur-Layouts
Da das wie im vorherigen Punkt nicht per default funktioniert, muss man auch hier wieder etwas nachhelfen. Dafür gibt es wieder mehrere Möglichkeiten:
  1. Man läßt einfach die Input-Sektion in der xorg.conf stehen
  2. Löscht man die Input-Sektion aus der xorg.conf, muss man die Tastatur anderweitig aktivieren:
    • KDE: kxkb
    • Gnome: gnome-keyboard-properties
    • alle anderen: setxkbmap de


Ich hab erstmal die Version mit der xorg.conf gelassen. Falls der HAL-Daemon dann mal die Eingabegeräte wirklich verwaltet (ohne xorg-Seiteneffekte), werd ich die Input-Rubrik aus der xorg.conf ganz rauslöschen. Die Mouse funktioniert schon jetzt nur mit HAL.

Nützliche Links dazu:
http://who-t.blogspot.com/2008/07/input-configuration-in-nutshell.html
https://forums.gentoo.org/viewtopic-t-641870-start-175.html

So vielleicht helf ich damit jemanden, einen Wutausbruch und längere Frustration zu vermeiden.

Update 27.11.2008
Die Default-FDIs stehen unter:
Code:
/usr/share/hal/fdi/policy/10osvendor

Da sucht man sich dann die passende raus, editiert die entsprechende Option und kopiert die FDI-Datei dann nach /etc/hal/fdi/policy/


Last edited by musv on Thu Nov 27, 2008 8:00 pm; edited 1 time in total
Back to top
View user's profile Send private message
Mr. Anderson
l33t
l33t


Joined: 22 Apr 2004
Posts: 762

PostPosted: Sat Nov 22, 2008 2:05 pm    Post subject: Reply with quote

Habe eben etwa den zehnten Versuch unternommen, eine funktionierende Tastatur mit evdev zu bekommen. Dieses mal nach dieser Anleitung. Wie immer ist es gescheitert. Vielleicht hast Du eine Idee, was bei mir falsch läuft?

Es funktionieren diverse einzelne Tasten nicht (Intel 105 Tasten: die Pfeiltasten, Alt Gr, der Block über den Pfeiltasten,...)

hal-0.5.11-r1
xorg-server-1.5.2
xf86-input-evdev-2.0.7

INPUT_DEVICES="evdev"

habe aus der xorg.conf alles über Tastatur und Maus entfernt

meine /etc/hal/fdi/policy/10-x11-input.fdi sieht aus wie die oben

kxkb hilft nicht
setxkbmap de ebenfalls nicht

Beim Einloggen mit KDM funktioniert noch alles korrekt. Aber sobald KDE (4) geladen wird, fallen die Tasten aus (mit KDE 3 genau das Gleiche).

In der Xorg.0.log zeigt sich am Ende:

(EE) XKB: Couldn't open rules file /usr/share/X11/xkb/rules/evdev
(EE) XKB: No components provided for device AT Translated Set 2 keyboard
(WW) Couldn't load XKB keymap, falling back to pre-XKB keymap

edit: eben ausprobiert: wenn ich es nicht wage, ein deutsches Tastaturlayout mit kxkb oder setxkbmap auszuwaehlen, funktionieren wenigstens die Tasten.
Back to top
View user's profile Send private message
Ampheus
l33t
l33t


Joined: 19 Oct 2005
Posts: 814
Location: Rheine, NRW, Germany

PostPosted: Sat Nov 22, 2008 5:20 pm    Post subject: Reply with quote

Hier funktioniert das Ganze schon länger ohne extra Tools, welche in KDE4 die keymap setzen mit folgender policy:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.keys">
      <append key="info.callouts.add" type="strlist">hal-setup-keymap</append>
    </match>
    <match key="info.capabilities" contains="input.keys">
      <!-- <merge key="input.xkb.model" type="string">pc104</merge> -->
      <merge key="input.xkb.layout" type="string">de</merge>
      <merge key="input.xkb.variant" type="string">nodeadkeys</merge>
      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux">
        <merge key="input.xkb.model" type="string">evdev</merge>
      </match>
      <merge key="input.xkb.rules" type="string">evdev</merge>
      <append key="input.xkb.options" type="strlist">altwin:menu</append>
    </match>
  </device>
</deviceinfo>

_________________
Für alle doubleposter ;)
Back to top
View user's profile Send private message
Mr. Anderson
l33t
l33t


Joined: 22 Apr 2004
Posts: 762

PostPosted: Sat Nov 22, 2008 6:04 pm    Post subject: Reply with quote

Danke, habe das damit eben versucht. Leider hat es keine Besserung gebracht. Alles ist genau wie vorher.
Back to top
View user's profile Send private message
Mr. Anderson
l33t
l33t


Joined: 22 Apr 2004
Posts: 762

PostPosted: Sat Nov 22, 2008 7:23 pm    Post subject: Reply with quote

Na eeeendlich. Ich hab's gefunden. Das Problem war x11-misc/xkeyboard-config. Ich hatte Version 1.3 installiert. Das kann aber nicht mit evdev umgehen. Es wird wenigstens 1.4 benötigt.
Back to top
View user's profile Send private message
tazinblack
Veteran
Veteran


Joined: 23 Jan 2005
Posts: 1146
Location: Baden / Germany

PostPosted: Wed Nov 26, 2008 10:25 pm    Post subject: Reply with quote

Hallo,

dank Eurer Hilfe ist innerhalb von X wieder eine funktionelle Tastatur vorhanden.
Leider rafft mein gdm das nicht. Also beim Anmelden leider "clavier anglais" sprich Layout=us :-(

Aber wieso verwendet der gdm nicht die gnome-Einstellungen?
_________________
Gruß / Regards
tazinblack
_______________________________________________________
what's the point in being grown up if you can't be childish sometimes
Back to top
View user's profile Send private message
Knieper
l33t
l33t


Joined: 10 Nov 2005
Posts: 846

PostPosted: Thu Nov 27, 2008 10:37 am    Post subject: Re: [Mini-Howto] Deutsche Tastatur mit hal-Unterstützung Reply with quote

musv wrote:
wie man eine Otto-Normal-Tastatur unter xorg mit HAL-Unterstützung gängig bekommt.

Weil man Tastaturen so oft wechselt? Oder weil HAL gerade zum Grossteil durch DeviceKit ersetzt wird? Oder weil HAL totaler Muell ist und auf keinem Rechner laufen sollte? Soviele Vorteile auf einmal.
_________________
Je dümmer desto Gnome/KDE.
Back to top
View user's profile Send private message
Necoro
Veteran
Veteran


Joined: 18 Dec 2005
Posts: 1912
Location: Germany

PostPosted: Thu Nov 27, 2008 11:36 am    Post subject: Reply with quote

tazinblack wrote:
Also beim Anmelden leider "clavier anglais" sprich Layout=us :-(

Warum spricht dein GDM französisch mit dir? - Oder habe ich da eine versteckte Bedeutung net gesehen?
_________________
Inter Deum Et Diabolum Semper Musica Est.
Back to top
View user's profile Send private message
AWO
Tux's lil' helper
Tux's lil' helper


Joined: 24 May 2005
Posts: 144
Location: 52°32N / 11°58E

PostPosted: Thu Nov 27, 2008 11:46 am    Post subject: Reply with quote

Hallo zusammen,

bei mir reichte es aus in der Kernelkonfiguration unter HID das Bootprotokoll für die Tastatur als Modul zu aktivieren. Ohne diese Option stand meine Tastatur auch auf "us".

Gruß AWO
Back to top
View user's profile Send private message
AmonAmarth
l33t
l33t


Joined: 03 Mar 2005
Posts: 727

PostPosted: Thu Nov 27, 2008 7:29 pm    Post subject: Reply with quote

tazinblack wrote:
Hallo,

dank Eurer Hilfe ist innerhalb von X wieder eine funktionelle Tastatur vorhanden.
Leider rafft mein gdm das nicht. Also beim Anmelden leider "clavier anglais" sprich Layout=us :-(

Aber wieso verwendet der gdm nicht die gnome-Einstellungen?


steht in deiner /etc/env.d/02locale auch
Code:
GDM_LANG="de_DE.UTF-8"
?
Back to top
View user's profile Send private message
Mr. Anderson
l33t
l33t


Joined: 22 Apr 2004
Posts: 762

PostPosted: Thu Nov 27, 2008 7:55 pm    Post subject: Reply with quote

AWO wrote:
bei mir reichte es aus in der Kernelkonfiguration unter HID das Bootprotokoll für die Tastatur als Modul zu aktivieren. Ohne diese Option stand meine Tastatur auch auf "us".


Ich sehe nicht, was Du meinst. Kannst Du mal die genaue Beschreibung oder das genaue config-Symbol posten?
Back to top
View user's profile Send private message
AWO
Tux's lil' helper
Tux's lil' helper


Joined: 24 May 2005
Posts: 144
Location: 52°32N / 11°58E

PostPosted: Thu Nov 27, 2008 8:10 pm    Post subject: Reply with quote

Mr. Anderson wrote:
AWO wrote:
bei mir reichte es aus in der Kernelkonfiguration unter HID das Bootprotokoll für die Tastatur als Modul zu aktivieren. Ohne diese Option stand meine Tastatur auch auf "us".


Ich sehe nicht, was Du meinst. Kannst Du mal die genaue Beschreibung oder das genaue config-Symbol posten?


Gemeint habe ich in der Kernelkonfiguration unter: Device Drivers --> HID Devices --> USB HID Boot Protocol Drivers --> USB HIDBP Keyboard Support.

Voraussetzung ist natürlich eine USB-Tastatur.


Gruß AWO
Back to top
View user's profile Send private message
Mr. Anderson
l33t
l33t


Joined: 22 Apr 2004
Posts: 762

PostPosted: Thu Nov 27, 2008 8:17 pm    Post subject: Reply with quote

Ah, ok. Danke. Habe so etwas nicht. :)
Back to top
View user's profile Send private message
tazinblack
Veteran
Veteran


Joined: 23 Jan 2005
Posts: 1146
Location: Baden / Germany

PostPosted: Wed Dec 03, 2008 7:43 pm    Post subject: Reply with quote

AmonAmarth wrote:
tazinblack wrote:
Hallo,

dank Eurer Hilfe ist innerhalb von X wieder eine funktionelle Tastatur vorhanden.
Leider rafft mein gdm das nicht. Also beim Anmelden leider "clavier anglais" sprich Layout=us :-(

Aber wieso verwendet der gdm nicht die gnome-Einstellungen?


steht in deiner /etc/env.d/02locale auch
Code:
GDM_LANG="de_DE.UTF-8"
?


Nee, die gibts bei mir nicht! Mal sehen, ob das die Ursache ist...
_________________
Gruß / Regards
tazinblack
_______________________________________________________
what's the point in being grown up if you can't be childish sometimes
Back to top
View user's profile Send private message
tazinblack
Veteran
Veteran


Joined: 23 Jan 2005
Posts: 1146
Location: Baden / Germany

PostPosted: Wed Dec 03, 2008 7:44 pm    Post subject: Reply with quote

Necoro wrote:
tazinblack wrote:
Also beim Anmelden leider "clavier anglais" sprich Layout=us :-(

Warum spricht dein GDM französisch mit dir? - Oder habe ich da eine versteckte Bedeutung net gesehen?


sorry, "clavier anglais" heißt übersetzt englische Tastatur
_________________
Gruß / Regards
tazinblack
_______________________________________________________
what's the point in being grown up if you can't be childish sometimes
Back to top
View user's profile Send private message
tazinblack
Veteran
Veteran


Joined: 23 Jan 2005
Posts: 1146
Location: Baden / Germany

PostPosted: Wed Dec 03, 2008 8:07 pm    Post subject: Reply with quote

AWO wrote:
Mr. Anderson wrote:
AWO wrote:
bei mir reichte es aus in der Kernelkonfiguration unter HID das Bootprotokoll für die Tastatur als Modul zu aktivieren. Ohne diese Option stand meine Tastatur auch auf "us".


Ich sehe nicht, was Du meinst. Kannst Du mal die genaue Beschreibung oder das genaue config-Symbol posten?


Gemeint habe ich in der Kernelkonfiguration unter: Device Drivers --> HID Devices --> USB HID Boot Protocol Drivers --> USB HIDBP Keyboard Support.

Voraussetzung ist natürlich eine USB-Tastatur.


Gruß AWO


USB Tastatur hab ich nicht, ist ein Notebook
_________________
Gruß / Regards
tazinblack
_______________________________________________________
what's the point in being grown up if you can't be childish sometimes
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 4693
Location: Germany

PostPosted: Wed Dec 03, 2008 8:39 pm    Post subject: Reply with quote

@tazinblack
was sagt denn ein
Code:
locale -a
und
locale
?
MfG
Back to top
View user's profile Send private message
tazinblack
Veteran
Veteran


Joined: 23 Jan 2005
Posts: 1146
Location: Baden / Germany

PostPosted: Wed Dec 03, 2008 8:52 pm    Post subject: Reply with quote

Josef.95 wrote:
@tazinblack
was sagt denn ein
Code:
locale -a
und
locale
?
MfG


Code:
locale -a
C
de_DE
de_DE@euro
de_DE.utf8
POSIX

Code:
 locale
LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=

_________________
Gruß / Regards
tazinblack
_______________________________________________________
what's the point in being grown up if you can't be childish sometimes
Back to top
View user's profile Send private message
Romses
Apprentice
Apprentice


Joined: 20 Jan 2004
Posts: 257
Location: Frankfurt

PostPosted: Thu Dec 04, 2008 12:20 pm    Post subject: Reply with quote

Hallo

Meine Notebook-Tastatur meldet auch kein Layout. (Lenovo T60)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum