# Xorg evdev Problem mit Tastaturlayout

## Consystor

Hallo zusammen!

Ich nutze seit Jahren FreeBSD und paketbasierte Linux-Distris, bei denen mir aber immer ports fehlten, weshalb ich mich gestern für das quellbasierte Gentoo entschieden habe und nun sitze ich an einem Problem.

Und zwar schaffe ich es nicht, dass X mit dem deutschen Tastaturlayout gestartet wird. Getestet habe ich es mit kdm und twm. Es wird immer das us-Layout verwendet.  :Sad: 

Ich habe wie in dieser Anleitung beschrieben xorg-server (v1.9.4) installiert und auch die /etc/hal/fdi/policy Dateien kopiert, angepasst und hald restartet.

Der vermeintlich relevante Teil aus der Xorg.0.log:

```

# grep -e "WW" -e "EE" /var/log/Xorg.0.log

(WW) warning, (EE) error, (NI) not implemented, (??) unknown.

[ 4293.424] (WW) The directory "/usr/share/fonts/TTF/" does not exist.

[ 4293.424] (WW) The directory "/usr/share/fonts/OTF/" does not exist.

[ 4293.424] (WW) The directory "/usr/share/fonts/Type1/" does not exist.

[ 4293.424] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/100dpi/".

[ 4293.424] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/75dpi/".

[ 4293.424] (WW) The directory "/usr/share/fonts/TTF/" does not exist.

[ 4293.424] (WW) The directory "/usr/share/fonts/OTF/" does not exist.

[ 4293.424] (WW) The directory "/usr/share/fonts/Type1/" does not exist.

[ 4293.424] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/100dpi/".

[ 4293.424] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/75dpi/".

[ 4293.424] (WW) AllowEmptyInput is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.

[ 4293.424] (WW) Disabling Mouse0

[ 4293.424] (WW) Disabling Keyboard0

[ 4293.425] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)

[ 4293.425] (II) Loading extension MIT-SCREEN-SAVER

[ 4293.432] (WW) Warning, couldn't open module dri

[ 4293.432] (EE) Failed to load module "dri" (module does not exist, 0)

[ 4293.432] (WW) Warning, couldn't open module dri2

[ 4293.432] (EE) Failed to load module "dri2" (module does not exist, 0)

[ 4293.921] (WW) Warning, couldn't open module dri2

[ 4293.921] (EE) NVIDIA: Failed to load module "dri2" (module does not exist, 0)

[...]

[Und weitere interessante Ausgaben:]

[ 4293.954] (II) Loading /usr/lib64/xorg/modules/input/evdev_drv.so

[ 4293.954] (II) Module evdev: vendor="X.Org Foundation"

[ 4293.954] compiled for 1.9.4, module version = 2.6.0

[ 4293.954] Module class: X.Org XInput Driver

[ 4293.954] ABI class: X.Org XInput driver, version 11.0

[...]

[ 4294.036] (II) config/udev: Adding input device AT Translated Set 2 keyboard (/dev/input/event0)

[ 4294.036] (**) AT Translated Set 2 keyboard: Applying InputClass "evdev keyboard catchall"

[ 4294.036] (**) AT Translated Set 2 keyboard: always reports core events

[ 4294.036] (**) AT Translated Set 2 keyboard: Device: "/dev/input/event0"

[ 4294.070] (--) AT Translated Set 2 keyboard: Found keys

[ 4294.070] (II) AT Translated Set 2 keyboard: Configuring as keyboard

[ 4294.070] (II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD)

[ 4294.070] (**) Option "xkb_rules" "evdev"

[ 4294.070] (**) Option "xkb_model" "evdev"

[ 4294.070] (**) Option "xkb_layout" "us"

[...]

```

Wie es aussieht wird für meine Tastatur das us-Layout verwendet aber warum?

In meiner 10-keymap.fdi steht:

<merge key="input.xkb.layout" type="string">de</merge>

<merge key="input.xkb.variant" type="string">nodeadkeys</merge>

Und in der 10-xinput-configuration.fdi steht

Section "InputDevice"

   Driver "evdev"

   Option "XkbLayout" "de"

EndSection

[...]

      <merge key="input.x11_options.XkbLayout" type="string">de</merge>

[...]

Ich hoffe sehr, Ihr könnt mir mit diesen Angaben helfen.

Viele Grüße

----------

## Uli Sing

 *Consystor wrote:*   

> ...weshalb ich mich gestern für das quellbasierte Gentoo entschieden habe und nun sitze ich an einem Problem.

 

Dieses Schicksal teilst Du mit uns allen.  :Very Happy: 

 *Consystor wrote:*   

> ...schaffe ich es nicht, dass X mit dem deutschen Tastaturlayout gestartet wird. 

 

Hal ist aus der Mode gekommen.

Versuch's mal hiermit:

```
#/etc/X11/xorg.conf.d/10-keyboard.conf 

Section "InputClass"

Identifier "Keyboard"

Driver "evdev"

MatchIsKeyboard "on"

Option "xkbmodel" "evdev"

Option "xkblayout" "de"

Option "XkbOptions" "terminate:ctrl_alt_bksp"

EndSection
```

----------

## Consystor

Oh, danke für die schnelle Hilfe - das funktioniert!   :Smile: 

Ich habe natürlich herum gesucht aber nur die Möglichkeit ohne evdev und mit den "alten" mouse und keyboard Treibern gefunden, die ich jetzt auch genutzt habe.

Aber noch ne Frage zu dem /etc/X11/xorg.conf.d Verzeichnis:

Ich kenne das von OpenSuSE aber unter Gentoo habe ich das nicht. Stattdessen nur die normale xorg.conf, in die ich Deinen Codeschnipsel eingefügt habe. Habe ich da während der Installation etwas falsch gemacht? Hat es einen Vorteil das xorg.conf.d Verzeichnis zu nutzen?

Kann ich einfach eines erstellen und alles dort eintragen oder muss ich irgendwas beachten?

----------

## doedel

Du kannst eine "normale" xorg.conf oder 100te einzelne haben. Die zwei Pfade dafür sind "/etc/X11/xorg.conf.d" und "/usr/share/X11/xorg.conf.d<". 

HAL (fdi Dateien) ist out - zum Glück - aber evdev kannst du trotzdem nutzen:

/usr/share/X11/xorg.conf.d/10-evdev:

```

Section "InputClass"

        Identifier "evdev keyboard catchall"

        MatchIsKeyboard "on"

        MatchDevicePath "/dev/input/event*"

        Driver "evdev"

        Option "XKbLayout" "de"

EndSection
```

----------

## Uli Sing

Was hast' denn in Deiner /etc/make.conf stehen?

```
INPUT_DEVICES="evdev"
```

wäre wohl ned schlecht.

```
USE="udev"
```

wohl auch ned.

Die Junx im X.Org Umfeld sind recht - wie soll ich sagen - kreativ: Gestern erzählen's Dir, dass hal das Beste seit der Erfindung der Dampfturbine ist und heut' isses bereits "deprecated".

Aber ich will mich ned beschweren. Erstens mal versteh' ich von der Sache überhaupt nix, zweitens geh' ich mal stark davon aus, dass die Leutz schon wissen, was sie da tun und drittens scheine ich ohnedies der Einzige zu sein, der lieber einen Tretroller (xinerama) als ein Sports-Bike ohne Räder (randr) fährt.  :Very Happy: 

----------

## Consystor

Hallo Leutz!

Also wie schon geschrieben funktioniert es mit der "InputClass" Section in xorg.conf problemlos.

Ich wusste nur nicht, dass es diese 3. Variante gibt. Bei FreeBSD habe ich zwar auch alles in die xorg.conf eingetragen aber da nutze ich bisher immer noch kbd und mouse.  :Smile: 

Es läuft also mit evdev, wobei mir das nichts sagt (habe nur gelesen, man solle das nutzen) und meine USE Flags sind bisher fast nur die defaults vom "default/linux/amd64/10.0/desktop/kde" Profil und damit die folgenden

```

USE="X a52 aac acl acpi alsa amd64 berkdb bluetooth branding bzip2 cairo cdr cli consolekit cracklib crypt cups cxx dbus dri dts dvd dvdr emboss encode exif fam firefox flac fortran gdbm gdu gif gpm gtk iconv ipv6 jpeg kde lcms ldap libnotify mad mikmod mmx mng modules mp3 mp4 mpeg mudflap multilib ncurses nls nptl nptlonly ogg opengl openmp pam pango pcre pdf perl png policykit ppds pppd python qt3support qt4 readline sdl session spell sse sse2 ssl startup-notification static-libs svg sysfs tcpd tiff truetype udev unicode usb vorbis x264 xcb xml xorg xulrunner xv xvid zlib"

```

Also auch udev und evdev habe ich natürlich ebenfalls (nun wieder als einzigen Treiber) mit emerge installiert und keyboard, wie mouse mit emerge --unemerge deinstalliert, wobei ich in der /var/db/pkg nachgeschaut habe, wie die pakete heißen, weil das leichter ging als müsste ich wieder das richtige tool dafür suchen.  :Wink: 

Nun will ich mich in die Philosophie des Portage (emerge) und in die tools einarbeiten. Bisher sind mir die ports von FreeBSD noch um Einiges sympathischer aber ist sicher auch nur eine Frage der Zeit. Mir kommt es nur so vor, dass es bei Linux mal wieder zu viele verschiedene tools gibt. Das eine kann dies heute nicht und das andere kann morgen das nicht. Bei FreeBSD ist das irgendwie alles transparenter und wenn es mal steht, dann auch für ne Weile - kommt mir jedenfalls so vor. Aber auch ich will nicht meckern. Hat alles seine Vor und Nachteile.

Ich habe nur keine Lust mehr auf OpenSuSE und die anderen, weil man die nicht so einfach auf dem aktuellsten Stand halten kann, finde ich. Dann hab ich jetzt endlich auch eine quellbasierte Linux-Distri.  :Smile: 

Vielen Dank Euch noch einmal!

----------

## disi

 *Uli Sing wrote:*   

>  *Consystor wrote:*   ...weshalb ich mich gestern für das quellbasierte Gentoo entschieden habe und nun sitze ich an einem Problem. 
> 
> Dieses Schicksal teilst Du mit uns allen. 
> 
>  *Consystor wrote:*   ...schaffe ich es nicht, dass X mit dem deutschen Tastaturlayout gestartet wird.  
> ...

 

Wow, das sollte mal sticky gemacht werden... ich hatte seit ca. 2 Jahren ein "setxkbmap gb" script in der xinitrc -.-

----------

## Josef.95

 *disi wrote:*   

> Wow, das sollte mal sticky gemacht werden... ich hatte seit ca. 2 Jahren ein "setxkbmap gb" script in der xinitrc -.-

 

Hehe auch nicht schlecht,

aber diese Option, global ein Layout zu setzen gibt es soweit ich weiss schon "immer"  :Wink: 

Siehe hierzu zb auch in der mit dem xorg-server mitgelieferten xorg.conf.example 

```
qlist xorg-server | grep example
```

  *xorg.conf.example wrote:*   

> 
> 
> ```
> # Then to change the language, change the Layout setting.
> 
> ...

 

----------

## Uli Sing

 *disi wrote:*   

> Wow, das sollte mal sticky gemacht werden... ich hatte seit ca. 2 Jahren ein "setxkbmap gb" script in der xinitrc -.-

 

Das ist jetzt an sich kein Geheimwissen und steht hier ergiebig beschrieben. Lediglich die Erläuterung zu den config Files kommt IMHO ein Bisserl zu kurz weg.

Wen's interessiert, an dieser Stelle meine Varianten:

```
#/etc/X11/xorg.conf.d/10-keyboard.conf

Section "InputClass"

Identifier "Keyboard"

Driver "evdev"

MatchIsKeyboard "on"

Option "xkbmodel" "evdev"

Option "xkblayout" "de"

Option "XkbOptions" "ctrl:nocaps,terminate:ctrl_alt_bksp"

EndSection
```

```
#/etc/X11/xorg.conf.d/96-synaptics.conf

Section "InputClass"

Identifier "Touchpad"

Driver "synaptics"

MatchIsTouchpad "on"

Option "SHMConfig" "true"

Option "MinSpeed" "0.20"

Option "MaxSpeed" "0.60"

Option "AccelFactor" "0.020"

Option "HorizEdgeScroll" "true"

Option "HorizScrollDelta" "100"

Option "VertEdgeScroll" "true"

Option "VertScrollDelta" "100"

Option "TapButton1" "1"

Option "TapButton2" "2"

Option "TapButton3" "3"

Option "MaxDoubleTapTime" "50" 

EndSection
```

---Edit---

Für Touchpad Benutzer ist dies hier nicht uninteressant.

----------

