# [solved]G15 und X

## kriz

Hallo.

Momentan versuch ich mein Keyboard Logitech G15 mit dem Patch für EV-SYN einzurichten.

http://www.g15tools.com/node/176

Allerdings sollte der Patch im Release 1.9.5.3-r3 implementiert sein oder?

Eigentlich auch egal denn beide Versuche (manuell und per portage) führen zu keinem Ergebnis.

Der G15daemon legt mir /dev/input/event(5) an und auf der Console bekomm ich durch showkey auch den Keycode der G-Tasten zurück.

Leider will X davon nichts wissen.

Weder xev noch xbindkeys -mk nehmen Notiz der G-Tasten.

Amarok und div. Apps lassen mich die Multimedia-Tasten zuweisen aber nicht meine G-Tasten.

In der xorg.conf hab ich versucht mittels

```

Section "InputDevice"

    Identifier "G15"

    Driver "evdev"

    Option "Device" "/dev/input/event5"

    Option "XkbModel" "syevdev"

EndSection

```

mein Device anzusprechen doch xev etc. wollen davon nichts wissen. -.-

Auf g15tools.com ist auch die Rede von:

```

"G15 Extra Keys": dropping event due to full queue!

```

was mit dem manuell gepatchten G15daemon gefixt ist.

Trotzdem bekomm ich es nicht gebacken.

Das Problem beschäftigt mich jetzt seit Tagen.

Jede Hilfestellung ist mir willkommen.

cc

p.s 

Portage 2.1.8.3 (default/linux/amd64/10.0/desktop, gcc-4.4.4, glibc-2.11.2-r3, 2.6.36-gentoo-r1 x86_64)

=================================================================

System uname: Linux-2.6.36-gentoo-r1-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q6600_@_2.40GHz-with-gentoo-2.0.1

Timestamp of tree: Thu, 18 Nov 2010 17:30:01 +0000

ccache version 2.4 [enabled]

app-shells/bash:     4.1_p7

dev-java/java-config: 2.1.11-r1

dev-lang/python:     2.6.5-r3, 3.1.2-r4

dev-util/ccache:     2.4-r7

dev-util/cmake:      2.8.1-r2

sys-apps/baselayout: 2.0.1-r1

sys-apps/openrc:     0.6.4

sys-apps/sandbox:    2.3-r1

sys-devel/autoconf:  2.13, 2.65-r1

sys-devel/automake:  1.9.6-r3, 1.10.3, 1.11.1

sys-devel/binutils:  2.20.1-r1

sys-devel/gcc:       4.4.4-r2

sys-devel/gcc-config: 1.4.1

sys-devel/libtool:   2.2.10

sys-devel/make:      3.81-r2

virtual/os-headers:  2.6.30-r1

ACCEPT_KEYWORDS="amd64"

ACCEPT_LICENSE="* -@EULA googleearth license(s) dlj-1.1 skype-eula AdobeFlash-10.1 license(s)"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-march=core2 -O2 -pipe"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/openvpn/easy-rsa"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo"

CXXFLAGS="-march=core2 -O2 -pipe"

DISTDIR="/usr/portage/distfiles"

FEATURES="assume-digests ccache distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"

GENTOO_MIRRORS="http://distfiles.gentoo.org"

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

LINGUAS="de"

MAKEOPTS="-j6"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/usr/local/portage/overlay"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="X a52 aac acl acpi alsa amd64 berkdb bluetooth branding builtin-qt bzip2 cairo cdr cli consolekit cracklib crypt cups cxx dbus devicekit dri dts dvd dvdnav dvdr emboss enca encode exif fam fbcon fbcondecor firefox flac fortran fts3 g15 gdbm gif gpm gtk hal iconv ipv6 jpeg lcms ldap libnotify lm_sensors mad mikmod mmx mng modules mp3 mp4 mpeg mudflap multilib ncurses nls nptl nptlonly nsplugin nvidia ogg opengl openmp pam pango pcre pdf perl png policykit ppds pppd python qt-bundled qt-static qt3support readline sdl secure-delete session spell sse sse2 ssl ssse3 startup-notification svg sysfs tcpd tiff truetype udev unicode usb vdpau vorbis x264 xcb xcomposite xinerama xml xorg xulrunner xv xvid xvmc zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="g15" LINGUAS="de" PHP_TARGETS="php5-2" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTSLast edited by kriz on Tue Nov 23, 2010 5:07 pm; edited 2 times in total

----------

## kriz

Vllt noch passend dazu....

```

SUBSYSTEM=="input", ATTRS{name}=="G15 Gaming Keyboard", RUN+="/usr/bin/g15daemon-hotplug"

#SUBSYSTEM=="usb", ATTR{product}=="G15 Gaming Keyboard", RUN+="/usr/bin/g15daemon-hotplug"

```

Dadurch funktioniert auch der Start vom Daemon durch Hotplug.

Das Keyboard funktioniert im Prinzip tadellos.

HAL.....

Kann es an HAL und udev liegen?

Kommt die "auto-config", die ich bei mir laufen habe, damit vielleicht nicht zurecht?

cc

----------

## kriz

Ich komm dem Problem langsam auf die Spur.

Eine udev-rule mit dem Inhalt:

```

ATTR{idVendor}=="046d", ATTR{idProduct}=="c227", RUN+="/etc/init.d/g15daemon-hotplug"

```

legt /dev/input/event(5) an.

Nun hat sich aber gezeigt, dass udev /dev/input/event(5) auch ohne eine udev-rule mit anlegt.

Die Rule lief als 99-g15daemon.rules.

Momentan habe ich Zugang zu den G-Tasten über X.

Sie werden auf F1-F6 gemappt. (*hust)

Eigentlich sollte /dev/input/event(5) von g15daemon zur Laufzeit angelegt werden weshalb ich versucht habe die G15 ohne udev-rule zu betreiben.

Jo, welches Programm legt jetzt das Device an?

Ich bin ratlos.

Natürlich kommt es zu einem Konflikt zwischen udev und g15daemon denn /dev/input/event(5) wird von g15daemon blockiert sobald ich den Daemon starte.

Danach kommt von:

```

cat /dev/input/event(5)

```

nichts mehr bei X an.

Ein neues Keyboard ist vielleicht die beste Lösung.  :Smile: 

----------

## kriz

Es funktioniert!

Warum gerade das 2. oder 3. emerge xf86-input-evdev den Fehler behoben hat, kann und will ich nicht erklären oder wissen.

Die G-Tasten haben jetzt ihren eigenen Keycode und sind über xbindkeys wunderbar zu belegen.

```

Press combination of keys or/and click under the window.

You can use one of the two lines after "NoCommand"

in $HOME/.xbindkeysrc to bind a key.

--- Press "q" to stop. ---

"NoCommand"

    m:0x0 + c:177

    XF86Phone

"NoCommand"

    m:0x0 + c:152

    XF86Explorer

"NoCommand"

    m:0x0 + c:190

    Redo

"NoCommand"

    m:0x0 + c:208

    XF86AudioPlay

"NoCommand"

    m:0x0 + c:129

    KP_Decimal

"NoCommand"

    m:0x0 + c:178

    NoSymbol

"NoCommand"

    m:0x0 + c:24

    q

```

Selbst udev legt jetzt ohne jegliche config kein Device mehr an.

/dev/input/event(5) wird sauber vom g15daemon angelegt.

schönen Abend

----------

## Manu311

Ich schließe mich dem Problem einfach mal an, auch wenn's bei kriz gelöst ist, bei mir isses das nicht.

showkeys zeigt die Keycodes xev reagiert nicht.

G15macro funktioniert nur für sekunden (in der Zeit funktioniert allerdings auch xev) dann schmiert es ab (auch nur die svn version, die portage version schmiert direkt ab).

Ich bin noch nicht lange mit Gentoo unterwegs, und hab auch nicht wirklich erfahrung mit udev oder regeln diesbezüglich, also einmal für dumme bitte  :Smile: .

----------

