Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Razer Input Devices Conflicts X+udev
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
popsUlfr
Tux's lil' helper
Tux's lil' helper


Joined: 27 Feb 2011
Posts: 80

PostPosted: Sun Feb 27, 2011 7:54 pm    Post subject: Razer Input Devices Conflicts X+udev Reply with quote

Hello everyone, I hope you're doing well... my first post on the gentoo forums but not my first visit :)
Many posts on here have saved me quite a few times, only this time I could use some help though if you be so kind.
I've been working on setting up another Gentoo system on my new Hardware, not exactly relevant (?) since my issue lies in my input devices.
Ok, here's the rundown:
I'm using a Razer Reclusa keyboard and a Razer Imperator mouse and anyhow they aren't getting along together too well.
After starting the X server for the first time I simply thought the mouse wasn't properly supported by evdev or something. It occurred to me there could be a conflict of interest once I accidentally unplugged the keyboard to discover a perfectly working mouse.
Looks like the little thing was being oppressed by evil Reclusa, to make things even funnier plugging the board back in has the mouse taking a stand and refusing the keyboard's operation. I need to unplug the mouse to get the typing back, by plugging the mouse back in we have the little game all over again.
Plugging in a Razer non-related mouse works like a charm.

Code:

x11-base/xorg-server-1.9.4 was built with the following:
USE="dmx ipv6 kdrive (multilib) nptl udev xorg -doc -minimal -static-libs -tslib"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,lazy"

Code:

x11-drivers/xf86-input-evdev-2.6.0 was built with the following:
USE="(multilib)"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,lazy"

Code:

sys-fs/udev-151-r4 was built with the following:
USE="extras (multilib) -devfs-compat -old-hd-rules (-selinux) -test"


Here's my
/etc/X11/xorg.conf.d/20-keymap.conf
Code:

Section "InputClass"
   Identifier "German Keyboard"
   Driver "evdev"
   MatchIsKeyboard "on"
   Option "XkbLayout" "de"
   Option "XkbOptions" "grp:alt_shift_toggle,terminate:ctrl_alt_bksp"
   Option "Ignore" "off"
EndSection


Just to have the correct Layout and X killswitch.

So I experimented with various configs (I tried 10-,30- to see if order had any impact):
Code:

Section "InputClass"
   Identifier "Razer Imperator"
   MatchIsPointer "on"
   Driver "evdev"
   MatchDevicePath "/dev/input/event*"
EndSection

Code:

Section "InputClass"
   Identifier "Razer Imperator"
   Driver "evdev"
   MatchProduct "Razer Razer Imperator" #I got that name by reading the output of 'cat /proc/bus/input/devices'
   MatchDevicePath "/dev/input/event*"
   MatchIsPointer "on"
   Option "Ignore" "off"
EndSection

Setting AllowEmptyInput
Code:

Section "ServerFlags"
   Option "AllowEmptyInput" "false"
EndSection


This config worked after a reboot:
Code:

Section "InputDevice"
   Identifier "Mouse0"
   Driver "evdev"
   Option "Name" "Razer Razer Imperator"
EndSection

The joy faded away when I unplugged and replugged the mouse then it was away for good even after reboots.
I'm having trouble understanding these shenanigans :? .

To the Xorg.0.log:

Unplugging my Keyboard
Code:

[  4750.122] (II) config/udev: removing device Razer Reclusa Keyboard
[  4750.123] (II) Razer Reclusa Keyboard: Close
[  4750.123] (II) UnloadModule: "evdev"
[  4750.138] (II) config/udev: removing device Razer Reclusa Keyboard
[  4750.138] (II) Razer Reclusa Keyboard: Close
[  4750.138] (II) UnloadModule: "evdev"


Replugging the Keyboard
Code:

[  4800.929] (II) config/udev: Adding input device Razer Reclusa Keyboard (/dev/input/event2)
[  4800.929] (**) Razer Reclusa Keyboard: Applying InputClass "evdev keyboard catchall"
[  4800.929] (**) Razer Reclusa Keyboard: Applying InputClass "German Keyboard"
[  4800.930] (**) Razer Reclusa Keyboard: always reports core events
[  4800.930] (**) Razer Reclusa Keyboard: Device: "/dev/input/event2"
[  4800.940] (--) Razer Reclusa Keyboard: Found keys
[  4800.940] (II) Razer Reclusa Keyboard: Configuring as keyboard
[  4800.940] (II) XINPUT: Adding extended input device "Razer Reclusa Keyboard" (type: KEYBOARD)
[  4800.940] (**) Option "xkb_rules" "evdev"
[  4800.940] (**) Option "xkb_model" "evdev"
[  4800.940] (**) Option "xkb_layout" "de"
[  4800.940] (**) Option "xkb_options" "grp:alt_shift_toggle,terminate:ctrl_alt_bksp"
[  4800.941] (II) config/udev: Adding input device Razer Reclusa Keyboard (/dev/input/event3)
[  4800.941] (**) Razer Reclusa Keyboard: Applying InputClass "evdev keyboard catchall"
[  4800.941] (**) Razer Reclusa Keyboard: Applying InputClass "German Keyboard"
[  4800.941] (**) Razer Reclusa Keyboard: always reports core events
[  4800.941] (**) Razer Reclusa Keyboard: Device: "/dev/input/event3"
[  4800.951] (--) Razer Reclusa Keyboard: Found 1 mouse buttons
[  4800.951] (--) Razer Reclusa Keyboard: Found scroll wheel(s)
[  4800.951] (--) Razer Reclusa Keyboard: Found relative axes
[  4800.951] (--) Razer Reclusa Keyboard: Found absolute axes
[  4800.951] (--) Razer Reclusa Keyboard: Found keys
[  4800.951] (II) Razer Reclusa Keyboard: Configuring as mouse
[  4800.951] (II) Razer Reclusa Keyboard: Configuring as keyboard
[  4800.951] (II) Razer Reclusa Keyboard: Adding scrollwheel support
[  4800.951] (**) Razer Reclusa Keyboard: YAxisMapping: buttons 4 and 5
[  4800.951] (**) Razer Reclusa Keyboard: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[  4800.951] (II) XINPUT: Adding extended input device "Razer Reclusa Keyboard" (type: KEYBOARD)
[  4800.951] (**) Option "xkb_rules" "evdev"
[  4800.951] (**) Option "xkb_model" "evdev"
[  4800.951] (**) Option "xkb_layout" "de"
[  4800.951] (**) Option "xkb_options" "grp:alt_shift_toggle,terminate:ctrl_alt_bksp"
[  4800.951] (EE) Razer Reclusa Keyboard: failed to initialize for relative axes.
[  4800.951] (II) Razer Reclusa Keyboard: initialized for absolute axes.

It's weird, somehow udev+X think it's also a mouse? It also shows up as 2 event interfaces?
Note: the keyboard has an integrated usb hub...

lsusb reveals:
Code:

lsusb
Bus 001 Device 012: ID 1532:0200 Razer USA, Ltd
Bus 001 Device 011: ID 1532:0103 Razer USA, Ltd

the lsusb -v output states the first device is the keyboard and the second the hub.

The mouse now:
Unplugging
Code:

[  5785.552] (II) config/udev: removing device Razer Razer Imperator
[  5785.552] (II) Razer Razer Imperator: Close
[  5785.552] (II) UnloadModule: "evdev"
[  5785.571] (II) config/udev: removing device Razer Razer Imperator
[  5785.571] (II) Razer Razer Imperator: Close
[  5785.571] (II) UnloadModule: "evdev"


Replugging
Code:

[  5845.840] (II) config/udev: Adding input device Razer Razer Imperator (/dev/input/mouse1)
[  5845.840] (II) No input driver/identifier specified (ignoring)
[  5845.840] (II) config/udev: Adding input device Razer Razer Imperator (/dev/input/event6)
[  5845.840] (**) Razer Razer Imperator: Applying InputClass "evdev keyboard catchall"
[  5845.840] (**) Razer Razer Imperator: Applying InputClass "German Keyboard"
[  5845.840] (**) Razer Razer Imperator: always reports core events
[  5845.840] (**) Razer Razer Imperator: Device: "/dev/input/event6"
[  5845.847] (--) Razer Razer Imperator: Found 1 mouse buttons
[  5845.847] (--) Razer Razer Imperator: Found scroll wheel(s)
[  5845.847] (--) Razer Razer Imperator: Found relative axes
[  5845.847] (--) Razer Razer Imperator: Found absolute axes
[  5845.847] (--) Razer Razer Imperator: Found keys
[  5845.847] (II) Razer Razer Imperator: Configuring as mouse
[  5845.847] (II) Razer Razer Imperator: Configuring as keyboard
[  5845.847] (II) Razer Razer Imperator: Adding scrollwheel support
[  5845.847] (**) Razer Razer Imperator: YAxisMapping: buttons 4 and 5
[  5845.847] (**) Razer Razer Imperator: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[  5845.847] (II) XINPUT: Adding extended input device "Razer Razer Imperator" (type: KEYBOARD)
[  5845.847] (**) Option "xkb_rules" "evdev"
[  5845.847] (**) Option "xkb_model" "evdev"
[  5845.847] (**) Option "xkb_layout" "de"
[  5845.847] (**) Option "xkb_options" "grp:alt_shift_toggle,terminate:ctrl_alt_bksp"
[  5845.847] (EE) Razer Razer Imperator: failed to initialize for relative axes.
[  5845.847] (II) Razer Razer Imperator: initialized for absolute axes.
[  5845.848] (II) config/udev: Adding input device Razer Razer Imperator (/dev/input/event5)
[  5845.848] (**) Razer Razer Imperator: Applying InputClass "evdev pointer catchall"
[  5845.848] (**) Razer Razer Imperator: always reports core events
[  5845.848] (**) Razer Razer Imperator: Device: "/dev/input/event5"
[  5845.855] (--) Razer Razer Imperator: Found 11 mouse buttons
[  5845.855] (--) Razer Razer Imperator: Found scroll wheel(s)
[  5845.855] (--) Razer Razer Imperator: Found relative axes
[  5845.855] (--) Razer Razer Imperator: Found x and y relative axes
[  5845.855] (II) Razer Razer Imperator: Configuring as mouse
[  5845.855] (II) Razer Razer Imperator: Adding scrollwheel support
[  5845.855] (**) Razer Razer Imperator: YAxisMapping: buttons 4 and 5
[  5845.855] (**) Razer Razer Imperator: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[  5845.855] (II) XINPUT: Adding extended input device "Razer Razer Imperator" (type: MOUSE)
[  5845.855] (**) Razer Razer Imperator: (accel) keeping acceleration scheme 1
[  5845.855] (**) Razer Razer Imperator: (accel) acceleration profile 0
[  5845.855] (**) Razer Razer Imperator: (accel) acceleration factor: 2.000
[  5845.855] (**) Razer Razer Imperator: (accel) acceleration threshold: 4
[  5845.855] (II) Razer Razer Imperator: initialized for relative axes.

Tries to apply a keyboard profile?

lsusb
Code:

lsusb
Bus 001 Device 022: ID 1532:0017 Razer USA, Ltd


lsusb -v
Quote:

lsusb -v
Bus 001 Device 022: ID 1532:0017 Razer USA, Ltd
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x1532 Razer USA, Ltd
idProduct 0x0017
bcdDevice 2.00
iManufacturer 1 Razer
iProduct 2 Razer Imperator
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 59
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 2 Mouse
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 93
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 1 Keyboard
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 101
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0009 1x 9 bytes
bInterval 1
Device Status: 0x0000
(Bus Powered)

Yeah... it somehow has the Mouse and the Keyboard Interface protocol? SO this must be the origin of the conflict since it's problematic to have two keyboards operating at the same time, right?
Now I was experimenting with udev rules but is there anything else you can do besides giving it a new device name? Is it possible to blacklist that portion that states it's a Keyboard?
So to my understanding no config file will be able to get the little thing back on its feet unless X is being random, or I find a way to trick udev?
Maybe there's something obvious I forgot to do (it's very likely knowing me :P)

Any Ideas about a therapy that could get both of them back together? Or will this story end with a divorce?

Any help is much appreciated. Thanks!

For more reference here is my emerge --info output:
Code:

emerge --info
Portage 2.2.0_alpha25 (default/linux/amd64/10.0/desktop, gcc-4.4.4, glibc-2.11.2-r3, 2.6.37-tuxonice x86_64)
=================================================================
System uname: Linux-2.6.37-tuxonice-x86_64-Intel-R-_Core-TM-_i7-2600K_CPU_@_3.40GHz-with-gentoo-1.12.14
Timestamp of tree: Sat, 26 Feb 2011 14:45:01 +0000
app-shells/bash:     4.1_p9
dev-lang/python:     2.6.6-r2, 3.1.3-r1
dev-util/cmake:      2.8.1-r2
sys-apps/baselayout: 1.12.14-r1
sys-apps/sandbox:    2.4
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.36.1 (sys-kernel/linux-headers)
Repositories: gentoo
Installed sets:
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -mtune=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -mtune=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs distlocks fixlafiles fixpackages news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://mirrors.linuxant.fr/distfiles.gentoo.org/ ftp://mirrors.linuxant.fr/distfiles.gentoo.org/ ftp://mirror.ovh.net/gentoo-distfiles/ http://mirror.ovh.net/gentoo-distfiles/"
LANG="en_GB.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en_GB en_US en de fr"
MAKEOPTS="-j8"
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=""
SYNC="rsync://rsync.fr.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 apm atm avahi bash-completion berkdb branding bzip2 cairo cdda cddb cdr cli consolekit cracklib crypt css cups cxx dbus dri dts dv dvd dvdr emboss encode exif fam fbcon firefox flac fontconfig fortran gdbm gdu gif gimp gmp gnutls gpm gtk gzip iconv ieee1394 ipv6 jpeg jpeg2k lcms ldap libnotify lm_sensors lock lzma lzo mad matroska mikmod mmx mng modules mp3 mp4 mpeg mudflap multilib musepack musicbrainz ncurses networkmanager nls nptl nptlonly nvidia ogg openal opengl openmp pam pango pcre pdf perl pmu png policykit posix ppds pppd python qt3support raw readline sdl session smp speex spell sse sse2 ssl startup-notification svg sysfs szip tcpd theora threads thunar tiff truetype udev unicode usb vorbis wavpack wmf x264 xattr xcb xcomposite xinerama xml xorg xpm xscreensaver xulrunner xv xvid zeroconf 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" CAMERAS="ptp2" 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="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_GB en_US en de fr" PHP_TARGETS="php5-3" 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, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS


On an unrelated note: I've been unable to successfully compile gcc-4.4.5. Make fails on 'bootstrap-lean' the error is something about 'dwarf2out_frame_debug_expr' in 'dwarf2out.c' (vague I know but I didn't bother further with it). Reducing the number of jobs or removing cflags didn't help either :(. The latest 4.6.0 alpha from the toolchain overlay went through fine, but the new compiler failed on tar and diffutils (latest version fixed that). I think I'll wait a bit longer before jumping on the bandwagon.
Back to top
View user's profile Send private message
VoidMage
Watchman
Watchman


Joined: 14 Oct 2006
Posts: 5427

PostPosted: Sun Feb 27, 2011 8:48 pm    Post subject: Reply with quote

First of all, '"AllowEmptyInput" false' always breaks hotplug.

As for the gcc part, perhaps going with lower value for parallel make and/or puging ccache would help ?


Now, for the conf snippets:
- that block, you've described as working doesn't do a thing
- for keyboard, snippet described as '20-' looks fine, for mouse, file installed with evdev driver should be enough
(you're not setting anything special, after all)

More interesting in this context than 'lsusb -v' would be 'udevadm info --query all' on devices from the keyboard.
Back to top
View user's profile Send private message
popsUlfr
Tux's lil' helper
Tux's lil' helper


Joined: 27 Feb 2011
Posts: 80

PostPosted: Sun Feb 27, 2011 9:09 pm    Post subject: Reply with quote

VoidMage wrote:
First of all, '"AllowEmptyInput" false' always breaks hotplug.

As for the gcc part, perhaps going with lower value for parallel make and/or puging ccache would help ?


Now, for the conf snippets:
- that block, you've described as working doesn't do a thing
- for keyboard, snippet described as '20-' looks fine, for mouse, file installed with evdev driver should be enough
(you're not setting anything special, after all)

More interesting in this context than 'lsusb -v' would be 'udevadm info --query all' on devices from the keyboard.


It's really strange even with AllowEmptyInput false the devices still get "hotplugged"...
Changing the parallel make was the first thing I did and I'm unfamiliar with purging the ccache? How should I do that?

Well, I found this info somewhere on the arch forum where someone got his Razer Diamondback working this way. It only worked once and each time the Xorg log reported it applied the config but the mouse only responded once and then never again.

Here's my output for the Razer imperator:
Code:

udevadm info -a -p $(udevadm info -q path -n /dev/input/mouse1)

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/1-1.5:1.0/input/input26/mouse1':
    KERNEL=="mouse1"
    SUBSYSTEM=="input"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/1-1.5:1.0/input/input26':
    KERNELS=="input26"
    SUBSYSTEMS=="input"
    DRIVERS==""
    ATTRS{name}=="Razer Razer Imperator"
    ATTRS{phys}=="usb-0000:00:1a.0-1.5/input0"
    ATTRS{uniq}==""
    ATTRS{modalias}=="input:b0003v1532p0017e0111-e0,1,2,4,k110,111,112,113,114,115,116,r0,1,8,am4,lsfw"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/1-1.5:1.0':
    KERNELS=="1-1.5:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="usbhid"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bNumEndpoints}=="01"
    ATTRS{bInterfaceClass}=="03"
    ATTRS{bInterfaceSubClass}=="01"
    ATTRS{bInterfaceProtocol}=="02"
    ATTRS{modalias}=="usb:v1532p0017d0200dc00dsc00dp00ic03isc01ip02"
    ATTRS{supports_autosuspend}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5':
    KERNELS=="1-1.5"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 2"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="a0"
    ATTRS{bMaxPower}=="100mA"
    ATTRS{urbnum}=="57986"
    ATTRS{idVendor}=="1532"
    ATTRS{idProduct}=="0017"
    ATTRS{bcdDevice}=="0200"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="23"
    ATTRS{devpath}=="1.5"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Razer"
    ATTRS{product}=="Razer Imperator"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1':
    KERNELS=="1-1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="195746"
    ATTRS{idVendor}=="8087"
    ATTRS{idProduct}=="0024"
    ATTRS{bcdDevice}=="0000"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="2"
    ATTRS{devpath}=="1"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="6"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1':
    KERNELS=="usb1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="60"
    ATTRS{idVendor}=="1d6b"
    ATTRS{idProduct}=="0002"
    ATTRS{bcdDevice}=="0206"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="1"
    ATTRS{devpath}=="0"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="2"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Linux 2.6.37-tuxonice ehci_hcd"
    ATTRS{product}=="EHCI Host Controller"
    ATTRS{serial}=="0000:00:1a.0"
    ATTRS{authorized_default}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0':
    KERNELS=="0000:00:1a.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="ehci_hcd"
    ATTRS{vendor}=="0x8086"
    ATTRS{device}=="0x1c2d"
    ATTRS{subsystem_vendor}=="0x1043"
    ATTRS{subsystem_device}=="0x844d"
    ATTRS{class}=="0x0c0320"
    ATTRS{irq}=="23"
    ATTRS{local_cpus}=="00000000,000000ff"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{modalias}=="pci:v00008086d00001C2Dsv00001043sd0000844Dbc0Csc03i20"
    ATTRS{numa_node}=="-1"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{enable}=="1"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}==""
    ATTRS{companion}==""

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""


For the first Reclusa Event interface:
Code:

udevadm info -a -p $(udevadm info -q path -n /dev/input/event3)

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.3/1-1.6.3:1.0/input/input30/event3':
    KERNEL=="event3"
    SUBSYSTEM=="input"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.3/1-1.6.3:1.0/input/input30':
    KERNELS=="input30"
    SUBSYSTEMS=="input"
    DRIVERS==""
    ATTRS{name}=="Razer Reclusa Keyboard"
    ATTRS{phys}=="usb-0000:00:1a.0-1.6.3/input0"
    ATTRS{uniq}==""
    ATTRS{modalias}=="input:b0003v1532p0200e0110-e0,1,4,11,14,k71,72,73,74,75,77,79,7A,7B,7C,7D,7E,7F,80,81,82, \
83,84,85,86,87,88,89,8A,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,F0,ram4,l0,1,2,sfw"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.3/1-1.6.3:1.0':
    KERNELS=="1-1.6.3:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="usbhid"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bNumEndpoints}=="01"
    ATTRS{bInterfaceClass}=="03"
    ATTRS{bInterfaceSubClass}=="01"
    ATTRS{bInterfaceProtocol}=="01"
    ATTRS{modalias}=="usb:v1532p0200d0100dc00dsc00dp00ic03isc01ip01"
    ATTRS{supports_autosuspend}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.3':
    KERNELS=="1-1.6.3"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 2"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="a0"
    ATTRS{bMaxPower}=="100mA"
    ATTRS{urbnum}=="42"
    ATTRS{idVendor}=="1532"
    ATTRS{idProduct}=="0200"
    ATTRS{bcdDevice}=="0100"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="26"
    ATTRS{devpath}=="1.6.3"
    ATTRS{version}==" 1.10"
    ATTRS{maxchild}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Razer"
    ATTRS{product}=="Reclusa Keyboard"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6':
    KERNELS=="1-1.6"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}=="PDB"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="a0"
    ATTRS{bMaxPower}=="200mA"
    ATTRS{urbnum}=="30"
    ATTRS{idVendor}=="1532"
    ATTRS{idProduct}=="0103"
    ATTRS{bcdDevice}=="0001"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="25"
    ATTRS{devpath}=="1.6"
    ATTRS{version}==" 1.10"
    ATTRS{maxchild}=="3"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Chicony"
    ATTRS{product}=="Razer Reclusa"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1':
    KERNELS=="1-1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="204620"
    ATTRS{idVendor}=="8087"
    ATTRS{idProduct}=="0024"
    ATTRS{bcdDevice}=="0000"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="2"
    ATTRS{devpath}=="1"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="6"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1':
    KERNELS=="usb1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="60"
    ATTRS{idVendor}=="1d6b"
    ATTRS{idProduct}=="0002"
    ATTRS{bcdDevice}=="0206"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="1"
    ATTRS{devpath}=="0"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="2"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Linux 2.6.37-tuxonice ehci_hcd"
    ATTRS{product}=="EHCI Host Controller"
    ATTRS{serial}=="0000:00:1a.0"
    ATTRS{authorized_default}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0':
    KERNELS=="0000:00:1a.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="ehci_hcd"
    ATTRS{vendor}=="0x8086"
    ATTRS{device}=="0x1c2d"
    ATTRS{subsystem_vendor}=="0x1043"
    ATTRS{subsystem_device}=="0x844d"
    ATTRS{class}=="0x0c0320"
    ATTRS{irq}=="23"
    ATTRS{local_cpus}=="00000000,000000ff"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{modalias}=="pci:v00008086d00001C2Dsv00001043sd0000844Dbc0Csc03i20"
    ATTRS{numa_node}=="-1"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{enable}=="1"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}==""
    ATTRS{companion}==""

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""


2nd Reclusa Event Interface:
Code:

udevadm info -a -p $(udevadm info -q path -n /dev/input/event4)

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.3/1-1.6.3:1.1/input/input31/event4':
    KERNEL=="event4"
    SUBSYSTEM=="input"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.3/1-1.6.3:1.1/input/input31':
    KERNELS=="input31"
    SUBSYSTEMS=="input"
    DRIVERS==""
    ATTRS{name}=="Razer Reclusa Keyboard"
    ATTRS{phys}=="usb-0000:00:1a.0-1.6.3/input1"
    ATTRS{uniq}==""
    ATTRS{modalias}=="input:b0003v1532p0200e0110-e0,1,2,3,4,k71,72,73,74,77,80,82,83,85,86,87,88,89,8A,8B,8C,8E,8F,90,96,98,9B,9C,9E,9F,A1,A3, \
A4,A5,A6,A7,A8,A9,AB,AC,AD,AE,B1,B2,B5,CE,CF,D0,D1,D2,D5,D8,D9,DB,E2,EA,EB,100,162,166,16A,16E,178,179,17A,17B,17C,17D,17F,180,181,182,185, \
18C,18D,192,193,195,1A0,1A1,1A2,1A3,1A4,1A5,1A6,1A7,1A8,1A9,1AA,1AB,1AC,1AD,1AE,1B0,1B1,1B7,r6,a20,m4,lsfw"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.3/1-1.6.3:1.1':
    KERNELS=="1-1.6.3:1.1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usbhid"
    ATTRS{bInterfaceNumber}=="01"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bNumEndpoints}=="01"
    ATTRS{bInterfaceClass}=="03"
    ATTRS{bInterfaceSubClass}=="00"
    ATTRS{bInterfaceProtocol}=="00"
    ATTRS{modalias}=="usb:v1532p0200d0100dc00dsc00dp00ic03isc00ip00"
    ATTRS{supports_autosuspend}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.3':
    KERNELS=="1-1.6.3"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 2"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="a0"
    ATTRS{bMaxPower}=="100mA"
    ATTRS{urbnum}=="199"
    ATTRS{idVendor}=="1532"
    ATTRS{idProduct}=="0200"
    ATTRS{bcdDevice}=="0100"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="26"
    ATTRS{devpath}=="1.6.3"
    ATTRS{version}==" 1.10"
    ATTRS{maxchild}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Razer"
    ATTRS{product}=="Reclusa Keyboard"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6':
    KERNELS=="1-1.6"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}=="PDB"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="a0"
    ATTRS{bMaxPower}=="200mA"
    ATTRS{urbnum}=="30"
    ATTRS{idVendor}=="1532"
    ATTRS{idProduct}=="0103"
    ATTRS{bcdDevice}=="0001"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="25"
    ATTRS{devpath}=="1.6"
    ATTRS{version}==" 1.10"
    ATTRS{maxchild}=="3"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Chicony"
    ATTRS{product}=="Razer Reclusa"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1':
    KERNELS=="1-1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="205901"
    ATTRS{idVendor}=="8087"
    ATTRS{idProduct}=="0024"
    ATTRS{bcdDevice}=="0000"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="2"
    ATTRS{devpath}=="1"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="6"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1':
    KERNELS=="usb1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="60"
    ATTRS{idVendor}=="1d6b"
    ATTRS{idProduct}=="0002"
    ATTRS{bcdDevice}=="0206"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="1"
    ATTRS{devpath}=="0"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="2"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Linux 2.6.37-tuxonice ehci_hcd"
    ATTRS{product}=="EHCI Host Controller"
    ATTRS{serial}=="0000:00:1a.0"
    ATTRS{authorized_default}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0':
    KERNELS=="0000:00:1a.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="ehci_hcd"
    ATTRS{vendor}=="0x8086"
    ATTRS{device}=="0x1c2d"
    ATTRS{subsystem_vendor}=="0x1043"
    ATTRS{subsystem_device}=="0x844d"
    ATTRS{class}=="0x0c0320"
    ATTRS{irq}=="23"
    ATTRS{local_cpus}=="00000000,000000ff"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{modalias}=="pci:v00008086d00001C2Dsv00001043sd0000844Dbc0Csc03i20"
    ATTRS{numa_node}=="-1"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{enable}=="1"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}==""
    ATTRS{companion}==""

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""


Is the way I issued the command correct? I got those device nodes directly from the Xorg.0.log.
Thank you for the help.


Last edited by popsUlfr on Sun Feb 27, 2011 9:40 pm; edited 1 time in total
Back to top
View user's profile Send private message
VoidMage
Watchman
Watchman


Joined: 14 Oct 2006
Posts: 5427

PostPosted: Sun Feb 27, 2011 9:27 pm    Post subject: Reply with quote

No, '-a' isn't helpful at all, I need to see properties that this doesn't print.
Put a few line breaks there, such long lines are plain annoying.
As for ccache, it's '-C' with correct CCACHE_DIR.
Back to top
View user's profile Send private message
popsUlfr
Tux's lil' helper
Tux's lil' helper


Joined: 27 Feb 2011
Posts: 80

PostPosted: Sun Feb 27, 2011 9:38 pm    Post subject: Reply with quote

VoidMage wrote:
No, '-a' isn't helpful at all, I need to see properties that this doesn't print.
Put a few line breaks there, such long lines are plain annoying.
As for ccache, it's '-C' with correct CCACHE_DIR.


Oh Sorry about that.
I understand that ccache will reduce recompilation time but I fail to see how this will help in my case?

Again for Razer Imperator:
Code:

udevadm info --query=all --path=$(udevadm info -q path -n /dev/input/mouse1)
P: /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/1-1.5:1.0/input/input28/mouse1
N: input/mouse1
S: char/13:33
S: input/by-id/usb-Razer_Razer_Imperator-mouse
S: input/by-path/pci-0000:00:1a.0-usb-0:1.5:1.0-mouse
E: UDEV_LOG=3
E: DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/1-1.5:1.0/input/input28/mouse1
E: MAJOR=13
E: MINOR=33
E: DEVNAME=/dev/input/mouse1
E: SUBSYSTEM=input
E: ID_INPUT=1
E: ID_INPUT_MOUSE=1
E: ID_VENDOR=Razer
E: ID_VENDOR_ENC=Razer
E: ID_VENDOR_ID=1532
E: ID_MODEL=Razer_Imperator
E: ID_MODEL_ENC=Razer\x20Imperator
E: ID_MODEL_ID=0017
E: ID_REVISION=0200
E: ID_SERIAL=Razer_Razer_Imperator
E: ID_TYPE=hid
E: ID_BUS=usb
E: ID_USB_INTERFACES=:030102:030001:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=usbhid
E: ID_PATH=pci-0000:00:1a.0-usb-0:1.5:1.0
E: DEVLINKS=/dev/char/13:33 /dev/input/by-id/usb-Razer_Razer_Imperator-mouse /dev/input/by-path/pci-0000:00:1a.0-usb-0:1.5:1.0-mouse


1st event interface for Razer Reclusa:
Code:

P: /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.3/1-1.6.3:1.0/input/input30/event3
N: input/event3
S: char/13:67
S: input/by-id/usb-Razer_Reclusa_Keyboard-event-kbd
S: input/by-path/pci-0000:00:1a.0-usb-0:1.6.3:1.0-event-kbd
E: UDEV_LOG=3
E: DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.3/1-1.6.3:1.0/input/input30/event3
E: MAJOR=13
E: MINOR=67
E: DEVNAME=/dev/input/event3
E: SUBSYSTEM=input
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_INPUT_KEYBOARD=1
E: ID_VENDOR=Razer
E: ID_VENDOR_ENC=Razer
E: ID_VENDOR_ID=1532
E: ID_MODEL=Reclusa_Keyboard
E: ID_MODEL_ENC=Reclusa\x20Keyboard
E: ID_MODEL_ID=0200
E: ID_REVISION=0100
E: ID_SERIAL=Razer_Reclusa_Keyboard
E: ID_TYPE=hid
E: ID_BUS=usb
E: ID_USB_INTERFACES=:030101:030000:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=usbhid
E: ID_PATH=pci-0000:00:1a.0-usb-0:1.6.3:1.0
E: DEVLINKS=/dev/char/13:67 /dev/input/by-id/usb-Razer_Reclusa_Keyboard-event-kbd /dev/input/by-path/pci-0000:00:1a.0-usb-0:1.6.3:1.0-event-kbd


2nd Razer Reclusa Event Interface:
Code:

P: /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.3/1-1.6.3:1.1/input/input31/event4
N: input/event4
S: char/13:68
S: input/by-id/usb-Razer_Reclusa_Keyboard-event-if01
S: input/by-path/pci-0000:00:1a.0-usb-0:1.6.3:1.1-event
E: UDEV_LOG=3
E: DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.3/1-1.6.3:1.1/input/input31/event4
E: MAJOR=13
E: MINOR=68
E: DEVNAME=/dev/input/event4
E: SUBSYSTEM=input
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_VENDOR=Razer
E: ID_VENDOR_ENC=Razer
E: ID_VENDOR_ID=1532
E: ID_MODEL=Reclusa_Keyboard
E: ID_MODEL_ENC=Reclusa\x20Keyboard
E: ID_MODEL_ID=0200
E: ID_REVISION=0100
E: ID_SERIAL=Razer_Reclusa_Keyboard
E: ID_TYPE=hid
E: ID_BUS=usb
E: ID_USB_INTERFACES=:030101:030000:
E: ID_USB_INTERFACE_NUM=01
E: ID_USB_DRIVER=usbhid
E: ID_PATH=pci-0000:00:1a.0-usb-0:1.6.3:1.1
E: DEVLINKS=/dev/char/13:68 /dev/input/by-id/usb-Razer_Reclusa_Keyboard-event-if01 /dev/input/by-path/pci-0000:00:1a.0-usb-0:1.6.3:1.1-event


EDIT:
I think I forgot to get info from the two Imperator event interfaces

1st
Code:

udevadm info --query=all --path=$(udevadm info -q path -n /dev/input/event5)
P: /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/1-1.5:1.0/input/input32/event5
N: input/event5
S: char/13:69
S: input/by-id/usb-Razer_Razer_Imperator-event-mouse
S: input/by-path/pci-0000:00:1a.0-usb-0:1.5:1.0-event-mouse
E: UDEV_LOG=3
E: DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/1-1.5:1.0/input/input32/event5
E: MAJOR=13
E: MINOR=69
E: DEVNAME=/dev/input/event5
E: SUBSYSTEM=input
E: ID_INPUT=1
E: ID_INPUT_MOUSE=1
E: ID_VENDOR=Razer
E: ID_VENDOR_ENC=Razer
E: ID_VENDOR_ID=1532
E: ID_MODEL=Razer_Imperator
E: ID_MODEL_ENC=Razer\x20Imperator
E: ID_MODEL_ID=0017
E: ID_REVISION=0200
E: ID_SERIAL=Razer_Razer_Imperator
E: ID_TYPE=hid
E: ID_BUS=usb
E: ID_USB_INTERFACES=:030102:030001:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=usbhid
E: ID_PATH=pci-0000:00:1a.0-usb-0:1.5:1.0
E: DEVLINKS=/dev/char/13:69 /dev/input/by-id/usb-Razer_Razer_Imperator-event-mouse /dev/input/by-path/pci-0000:00:1a.0-usb-0:1.5:1.0-event-mouse


2nd
Code:

udevadm info --query=all --path=$(udevadm info -q path -n /dev/input/event6)
P: /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/1-1.5:1.1/input/input33/event6
N: input/event6
S: char/13:70
S: input/by-id/usb-Razer_Razer_Imperator-event-kbd
S: input/by-path/pci-0000:00:1a.0-usb-0:1.5:1.1-event-kbd
E: UDEV_LOG=3
E: DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/1-1.5:1.1/input/input33/event6
E: MAJOR=13
E: MINOR=70
E: DEVNAME=/dev/input/event6
E: SUBSYSTEM=input
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_INPUT_KEYBOARD=1
E: ID_VENDOR=Razer
E: ID_VENDOR_ENC=Razer
E: ID_VENDOR_ID=1532
E: ID_MODEL=Razer_Imperator
E: ID_MODEL_ENC=Razer\x20Imperator
E: ID_MODEL_ID=0017
E: ID_REVISION=0200
E: ID_SERIAL=Razer_Razer_Imperator
E: ID_TYPE=hid
E: ID_BUS=usb
E: ID_USB_INTERFACES=:030102:030001:
E: ID_USB_INTERFACE_NUM=01
E: ID_USB_DRIVER=usbhid
E: ID_PATH=pci-0000:00:1a.0-usb-0:1.5:1.1
E: DEVLINKS=/dev/char/13:70 /dev/input/by-id/usb-Razer_Razer_Imperator-event-kbd /dev/input/by-path/pci-0000:00:1a.0-usb-0:1.5:1.1-event-kbd
Back to top
View user's profile Send private message
VoidMage
Watchman
Watchman


Joined: 14 Oct 2006
Posts: 5427

PostPosted: Sun Feb 27, 2011 10:23 pm    Post subject: Reply with quote

OK, never mind ccache, I thought you have it installed.
You need to post the actual error then.

As for the devices:
- for whatever the reason, Imperator is both mouse and keyboard, as far as kernel is concerned (I was interested only in event* devices)
- the additional problem is that xorg-server matches by ID_INPUT_KEY instead of ID_INPUT_KEYBOARD, so a few additional devices aren't skipped

Still, there should be no problem in having more than one keyboard/mouse, pastebin xorg log after removing 'EnableEmptyInput' line.
Back to top
View user's profile Send private message
popsUlfr
Tux's lil' helper
Tux's lil' helper


Joined: 27 Feb 2011
Posts: 80

PostPosted: Sun Feb 27, 2011 10:45 pm    Post subject: Reply with quote

VoidMage wrote:
As for the devices:
- for whatever the reason, Imperator is both mouse and keyboard, as far as kernel is concerned (I was interested only in event* devices)
- the additional problem is that xorg-server matches by ID_INPUT_KEY instead of ID_INPUT_KEYBOARD, so a few additional devices aren't skipped

Still, there should be no problem in having more than one keyboard/mouse, pastebin xorg log after removing 'EnableEmptyInput' line.


Very interesting information. Another Interesting thing is that Razer Imperator appears twice in the Xfce mouse dialog aswell as my Reclusa Keyboard.
Here's the Xorg log pastebin as requested, the only config files used are the Xorg.conf with Screen+gfx card settings (created with nvidia-xconfig but I removed everything relating to input devices) and that 20-keymap.conf file.
http://pastebin.com/dmACZaYZ

By the way the "HID 04d9:0499" device is my backup mouse. The Razer Imperator is wired but unuseable as already stated.

EDIT:If I don't reply right away it's because I'm taking a nap, don't mind me.
Back to top
View user's profile Send private message
VoidMage
Watchman
Watchman


Joined: 14 Oct 2006
Posts: 5427

PostPosted: Sun Feb 27, 2011 11:29 pm    Post subject: Reply with quote

OK, perhaps you could filter out that Razer_Imperator 'keyboard' with MatchProduct/MatchVendor and 'Ignore on'.
Could you post the '--attribute-walk' for that keyboard event device ?
It's a bit interesting why part of the mouse is seen as keyboard, perhaps we can find out why.
Back to top
View user's profile Send private message
Naib
Advocate
Advocate


Joined: 21 May 2004
Posts: 4103
Location: Removed by Neddy

PostPosted: Mon Feb 28, 2011 12:22 am    Post subject: Reply with quote

Uuur I remember running into this with my RazerCopperhead (I now have a Razer Abyssus).
This Imperator looks like a bazzed up copperhead (loved that mouse :D) and I am guessing on the bottom there is a button which you would need to hold down and plug the mouse in to allow the internal firmware to be updated?

The Copperhead has this and as a result udev detects a mouse and a keyboard. It took a while of viewing the output of udevadm to find a suitable different ID to then make custom udev rules to make a /dev/input/copperhead shortcut (and reference against that) and ensure they keyboard part of the mouse wasn't picked as primary
_________________
A free press is the unsleeping guardian of every other right that free men prize; it is the most dangerous foe of tyranny. Where men have the habit of liberty, the Press will continue to be the vigilant guardian of the rights of the ordinary citizen.
Back to top
View user's profile Send private message
PaulBredbury
Watchman
Watchman


Joined: 14 Jul 2005
Posts: 7310

PostPosted: Mon Feb 28, 2011 6:19 am    Post subject: Reply with quote

My previous Logitech wireless mouse ended up with 2 entries in udev, 1 for the mouse itself, and 1 for the small USB receiver, both looking 99.99% identical in udev (I couldn't find a udev rule to tell them apart!). I fixed it with:
Code:
Section "InputClass"
   Identifier      "USB wireless receiver for mouse"
   MatchProduct   "Receiver"
   Option         "Ignore"   "On"
EndSection

This is an xorg rule, rather than a udev rule. So hopefully you can set xorg to ignore the "mouse as keyboard" "device".
Back to top
View user's profile Send private message
popsUlfr
Tux's lil' helper
Tux's lil' helper


Joined: 27 Feb 2011
Posts: 80

PostPosted: Mon Feb 28, 2011 9:53 am    Post subject: Reply with quote

VoidMage wrote:
OK, perhaps you could filter out that Razer_Imperator 'keyboard' with MatchProduct/MatchVendor and 'Ignore on'.
Could you post the '--attribute-walk' for that keyboard event device ?
It's a bit interesting why part of the mouse is seen as keyboard, perhaps we can find out why.


Ok, here's the 30-razerimperatorkeyboard.conf:
Code:

Section "InputClass"
   Identifier "Razer Imperator Keyboard"
   MatchProduct "Razer Razer Imperator"
   MatchVendor "Razer"
   MatchDevicePath "/dev/input/event*"
   MatchIsKeyboard "on"
   Option "Ignore" "on"
EndSection


Checking Xorg log when plugging in:
Code:

[    70.282] (II) config/udev: Adding input device Razer Razer Imperator (/dev/input/event4)
[    70.282] (**) Razer Razer Imperator: Ignoring device from InputClass "Razer Imperator Keyboard"
[    70.282] (II) config/udev: Adding input device Razer Razer Imperator (/dev/input/event3)
[    70.283] (**) Razer Razer Imperator: Applying InputClass "evdev pointer catchall"
[    70.283] (**) Razer Razer Imperator: always reports core events
[    70.283] (**) Razer Razer Imperator: Device: "/dev/input/event3"
[    70.290] (--) Razer Razer Imperator: Found 11 mouse buttons
[    70.290] (--) Razer Razer Imperator: Found scroll wheel(s)
[    70.290] (--) Razer Razer Imperator: Found relative axes
[    70.290] (--) Razer Razer Imperator: Found x and y relative axes
[    70.290] (II) Razer Razer Imperator: Configuring as mouse
[    70.290] (II) Razer Razer Imperator: Adding scrollwheel support
[    70.290] (**) Razer Razer Imperator: YAxisMapping: buttons 4 and 5
[    70.290] (**) Razer Razer Imperator: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[    70.290] (II) XINPUT: Adding extended input device "Razer Razer Imperator" (type: MOUSE)
[    70.290] (**) Razer Razer Imperator: (accel) keeping acceleration scheme 1
[    70.290] (**) Razer Razer Imperator: (accel) acceleration profile 0
[    70.290] (**) Razer Razer Imperator: (accel) acceleration factor: 2.000
[    70.290] (**) Razer Razer Imperator: (accel) acceleration threshold: 4
[    70.290] (II) Razer Razer Imperator: initialized for relative axes.
[    70.290] (II) config/udev: Adding input device Razer Razer Imperator (/dev/input/mouse1)
[    70.290] (II) No input driver/identifier specified (ignoring)


by the look of things the Keyboard device has been disabled, but the mouse still isn't working. Only when I unplug my keyboard just like I stated before.

by the way is there a way to test the config files without rebooting? New xorg rules don't get picked up otherwise even if I restart dbus+xdm or kill the server manually.

Here are the --attribute-walk outputs:
1st Razer Imperator event interface:
Code:

udevadm info --query=all --attribute-walk --path=$(udevadm info -q path -n /dev/input/event3)

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/1-1.5:1.0/input/input3/event3':
    KERNEL=="event3"
    SUBSYSTEM=="input"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/1-1.5:1.0/input/input3':
    KERNELS=="input3"
    SUBSYSTEMS=="input"
    DRIVERS==""
    ATTRS{name}=="Razer Razer Imperator"
    ATTRS{phys}=="usb-0000:00:1a.0-1.5/input0"
    ATTRS{uniq}==""
    ATTRS{modalias}=="input:b0003v1532p0017e0111-e0,1,2,4,k110,111,112,113,114,115,116,r0,1,8,am4,lsfw"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/1-1.5:1.0':
    KERNELS=="1-1.5:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="usbhid"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bNumEndpoints}=="01"
    ATTRS{bInterfaceClass}=="03"
    ATTRS{bInterfaceSubClass}=="01"
    ATTRS{bInterfaceProtocol}=="02"
    ATTRS{modalias}=="usb:v1532p0017d0200dc00dsc00dp00ic03isc01ip02"
    ATTRS{supports_autosuspend}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5':
    KERNELS=="1-1.5"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 2"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="a0"
    ATTRS{bMaxPower}=="100mA"
    ATTRS{urbnum}=="13300"
    ATTRS{idVendor}=="1532"
    ATTRS{idProduct}=="0017"
    ATTRS{bcdDevice}=="0200"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="4"
    ATTRS{devpath}=="1.5"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Razer"
    ATTRS{product}=="Razer Imperator"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1':
    KERNELS=="1-1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="13252"
    ATTRS{idVendor}=="8087"
    ATTRS{idProduct}=="0024"
    ATTRS{bcdDevice}=="0000"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="2"
    ATTRS{devpath}=="1"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="6"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1':
    KERNELS=="usb1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="24"
    ATTRS{idVendor}=="1d6b"
    ATTRS{idProduct}=="0002"
    ATTRS{bcdDevice}=="0206"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="1"
    ATTRS{devpath}=="0"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="2"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Linux 2.6.37-tuxonice ehci_hcd"
    ATTRS{product}=="EHCI Host Controller"
    ATTRS{serial}=="0000:00:1a.0"
    ATTRS{authorized_default}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0':
    KERNELS=="0000:00:1a.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="ehci_hcd"
    ATTRS{vendor}=="0x8086"
    ATTRS{device}=="0x1c2d"
    ATTRS{subsystem_vendor}=="0x1043"
    ATTRS{subsystem_device}=="0x844d"
    ATTRS{class}=="0x0c0320"
    ATTRS{irq}=="23"
    ATTRS{local_cpus}=="00000000,000000ff"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{modalias}=="pci:v00008086d00001C2Dsv00001043sd0000844Dbc0Csc03i20"
    ATTRS{numa_node}=="-1"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{enable}=="1"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}==""
    ATTRS{companion}==""

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""


2nd Razer Imperator event interface:
Code:

udevadm info --query=all --attribute-walk --path=$(udevadm info -q path -n /dev/input/event4)

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/1-1.5:1.1/input/input4/event4':
    KERNEL=="event4"
    SUBSYSTEM=="input"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/1-1.5:1.1/input/input4':
    KERNELS=="input4"
    SUBSYSTEMS=="input"
    DRIVERS==""
    ATTRS{name}=="Razer Razer Imperator"
    ATTRS{phys}=="usb-0000:00:1a.0-1.5/input1"
    ATTRS{uniq}==""
    ATTRS{modalias}=="input:b0003v1532p0017e0111-e0,1,2,3,4,14,k71,72,73,74,75,77,79,7A,7B,7C, \
7D,7E,7F,80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8E,8F,90,96,98,9B,9C,9E,9F,A1,A3,A4,A5,A6,A7,A8,A9, \
AB,AC,AD,AE,B0,B1,B2,B3,B4,B5,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,CE,CF,D0,D1,D2,D5,D8,D9,DB, \
E2,EA,EB,F0,100,162,166,16A,16E,178,179,17A,17B,17C,17D,17F,180,181,182,185,18C,18D,192,193,195,1A0, \
1A1,1A2,1A3,1A4,1A5,1A6,1A7,1A8,1A9,1AA,1AB,1AC,1AD,1AE,1B0,1B1,1B7,r6,a20,m4,lsfw"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/1-1.5:1.1':
    KERNELS=="1-1.5:1.1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usbhid"
    ATTRS{bInterfaceNumber}=="01"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bNumEndpoints}=="01"
    ATTRS{bInterfaceClass}=="03"
    ATTRS{bInterfaceSubClass}=="00"
    ATTRS{bInterfaceProtocol}=="01"
    ATTRS{modalias}=="usb:v1532p0017d0200dc00dsc00dp00ic03isc00ip01"
    ATTRS{supports_autosuspend}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5':
    KERNELS=="1-1.5"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 2"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="a0"
    ATTRS{bMaxPower}=="100mA"
    ATTRS{urbnum}=="14268"
    ATTRS{idVendor}=="1532"
    ATTRS{idProduct}=="0017"
    ATTRS{bcdDevice}=="0200"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="4"
    ATTRS{devpath}=="1.5"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Razer"
    ATTRS{product}=="Razer Imperator"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1':
    KERNELS=="1-1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="14210"
    ATTRS{idVendor}=="8087"
    ATTRS{idProduct}=="0024"
    ATTRS{bcdDevice}=="0000"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="2"
    ATTRS{devpath}=="1"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="6"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1':
    KERNELS=="usb1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="24"
    ATTRS{idVendor}=="1d6b"
    ATTRS{idProduct}=="0002"
    ATTRS{bcdDevice}=="0206"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="1"
    ATTRS{devpath}=="0"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="2"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Linux 2.6.37-tuxonice ehci_hcd"
    ATTRS{product}=="EHCI Host Controller"
    ATTRS{serial}=="0000:00:1a.0"
    ATTRS{authorized_default}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0':
    KERNELS=="0000:00:1a.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="ehci_hcd"
    ATTRS{vendor}=="0x8086"
    ATTRS{device}=="0x1c2d"
    ATTRS{subsystem_vendor}=="0x1043"
    ATTRS{subsystem_device}=="0x844d"
    ATTRS{class}=="0x0c0320"
    ATTRS{irq}=="23"
    ATTRS{local_cpus}=="00000000,000000ff"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{modalias}=="pci:v00008086d00001C2Dsv00001043sd0000844Dbc0Csc03i20"
    ATTRS{numa_node}=="-1"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{enable}=="1"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}==""
    ATTRS{companion}==""

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""


1st Razer Reclusa event interface:
Code:

udevadm info --query=all --attribute-walk --path=$(udevadm info -q path -n /dev/input/event5)

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.3/1-1.6.3:1.0/input/input5/event5':
    KERNEL=="event5"
    SUBSYSTEM=="input"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.3/1-1.6.3:1.0/input/input5':
    KERNELS=="input5"
    SUBSYSTEMS=="input"
    DRIVERS==""
    ATTRS{name}=="Razer Reclusa Keyboard"
    ATTRS{phys}=="usb-0000:00:1a.0-1.6.3/input0"
    ATTRS{uniq}==""
    ATTRS{modalias}=="input:b0003v1532p0200e0110-e0,1,4,11,14,k71,72,73,74,75,77,79,7A,7B,7C,7D,7E,7F, \
80,81,82,83,84,85,86,87,88,89,8A,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,F0,ram4,l0,1,2,sfw"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.3/1-1.6.3:1.0':
    KERNELS=="1-1.6.3:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="usbhid"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bNumEndpoints}=="01"
    ATTRS{bInterfaceClass}=="03"
    ATTRS{bInterfaceSubClass}=="01"
    ATTRS{bInterfaceProtocol}=="01"
    ATTRS{modalias}=="usb:v1532p0200d0100dc00dsc00dp00ic03isc01ip01"
    ATTRS{supports_autosuspend}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.3':
    KERNELS=="1-1.6.3"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 2"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="a0"
    ATTRS{bMaxPower}=="100mA"
    ATTRS{urbnum}=="694"
    ATTRS{idVendor}=="1532"
    ATTRS{idProduct}=="0200"
    ATTRS{bcdDevice}=="0100"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="6"
    ATTRS{devpath}=="1.6.3"
    ATTRS{version}==" 1.10"
    ATTRS{maxchild}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Razer"
    ATTRS{product}=="Reclusa Keyboard"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6':
    KERNELS=="1-1.6"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}=="PDB"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="a0"
    ATTRS{bMaxPower}=="200mA"
    ATTRS{urbnum}=="32"
    ATTRS{idVendor}=="1532"
    ATTRS{idProduct}=="0103"
    ATTRS{bcdDevice}=="0001"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="5"
    ATTRS{devpath}=="1.6"
    ATTRS{version}==" 1.10"
    ATTRS{maxchild}=="3"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Chicony"
    ATTRS{product}=="Razer Reclusa"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1':
    KERNELS=="1-1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="15125"
    ATTRS{idVendor}=="8087"
    ATTRS{idProduct}=="0024"
    ATTRS{bcdDevice}=="0000"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="2"
    ATTRS{devpath}=="1"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="6"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1':
    KERNELS=="usb1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="24"
    ATTRS{idVendor}=="1d6b"
    ATTRS{idProduct}=="0002"
    ATTRS{bcdDevice}=="0206"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="1"
    ATTRS{devpath}=="0"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="2"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Linux 2.6.37-tuxonice ehci_hcd"
    ATTRS{product}=="EHCI Host Controller"
    ATTRS{serial}=="0000:00:1a.0"
    ATTRS{authorized_default}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0':
    KERNELS=="0000:00:1a.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="ehci_hcd"
    ATTRS{vendor}=="0x8086"
    ATTRS{device}=="0x1c2d"
    ATTRS{subsystem_vendor}=="0x1043"
    ATTRS{subsystem_device}=="0x844d"
    ATTRS{class}=="0x0c0320"
    ATTRS{irq}=="23"
    ATTRS{local_cpus}=="00000000,000000ff"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{modalias}=="pci:v00008086d00001C2Dsv00001043sd0000844Dbc0Csc03i20"
    ATTRS{numa_node}=="-1"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{enable}=="1"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}==""
    ATTRS{companion}==""

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""


2nd Razer Reclusa event interface:
Code:

udevadm info --query=all --attribute-walk --path=$(udevadm info -q path -n /dev/input/event6)

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.3/1-1.6.3:1.1/input/input6/event6':
    KERNEL=="event6"
    SUBSYSTEM=="input"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.3/1-1.6.3:1.1/input/input6':
    KERNELS=="input6"
    SUBSYSTEMS=="input"
    DRIVERS==""
    ATTRS{name}=="Razer Reclusa Keyboard"
    ATTRS{phys}=="usb-0000:00:1a.0-1.6.3/input1"
    ATTRS{uniq}==""
    ATTRS{modalias}=="input:b0003v1532p0200e0110-e0,1,2,3,4,k71,72,73,74,77,80,82,83,85,86,87,88,89,8A, \
8B,8C,8E,8F,90,96,98,9B,9C,9E,9F,A1,A3,A4,A5,A6,A7,A8,A9,AB,AC,AD,AE,B1,B2,B5,CE,CF,D0,D1,D2,D5,D8,D9, \
DB,E2,EA,EB,100,162,166,16A,16E,178,179,17A,17B,17C,17D,17F,180,181,182,185,18C,18D,192,193,195,1A0,1A1, \
1A2,1A3,1A4,1A5,1A6,1A7,1A8,1A9,1AA,1AB,1AC,1AD,1AE,1B0,1B1,1B7,r6,a20,m4,lsfw"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.3/1-1.6.3:1.1':
    KERNELS=="1-1.6.3:1.1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usbhid"
    ATTRS{bInterfaceNumber}=="01"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bNumEndpoints}=="01"
    ATTRS{bInterfaceClass}=="03"
    ATTRS{bInterfaceSubClass}=="00"
    ATTRS{bInterfaceProtocol}=="00"
    ATTRS{modalias}=="usb:v1532p0200d0100dc00dsc00dp00ic03isc00ip00"
    ATTRS{supports_autosuspend}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.3':
    KERNELS=="1-1.6.3"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 2"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="a0"
    ATTRS{bMaxPower}=="100mA"
    ATTRS{urbnum}=="812"
    ATTRS{idVendor}=="1532"
    ATTRS{idProduct}=="0200"
    ATTRS{bcdDevice}=="0100"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="6"
    ATTRS{devpath}=="1.6.3"
    ATTRS{version}==" 1.10"
    ATTRS{maxchild}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Razer"
    ATTRS{product}=="Reclusa Keyboard"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6':
    KERNELS=="1-1.6"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}=="PDB"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="a0"
    ATTRS{bMaxPower}=="200mA"
    ATTRS{urbnum}=="32"
    ATTRS{idVendor}=="1532"
    ATTRS{idProduct}=="0103"
    ATTRS{bcdDevice}=="0001"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="5"
    ATTRS{devpath}=="1.6"
    ATTRS{version}==" 1.10"
    ATTRS{maxchild}=="3"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Chicony"
    ATTRS{product}=="Razer Reclusa"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1':
    KERNELS=="1-1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="15642"
    ATTRS{idVendor}=="8087"
    ATTRS{idProduct}=="0024"
    ATTRS{bcdDevice}=="0000"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="2"
    ATTRS{devpath}=="1"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="6"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1':
    KERNELS=="usb1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="24"
    ATTRS{idVendor}=="1d6b"
    ATTRS{idProduct}=="0002"
    ATTRS{bcdDevice}=="0206"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="1"
    ATTRS{devpath}=="0"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="2"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Linux 2.6.37-tuxonice ehci_hcd"
    ATTRS{product}=="EHCI Host Controller"
    ATTRS{serial}=="0000:00:1a.0"
    ATTRS{authorized_default}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0':
    KERNELS=="0000:00:1a.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="ehci_hcd"
    ATTRS{vendor}=="0x8086"
    ATTRS{device}=="0x1c2d"
    ATTRS{subsystem_vendor}=="0x1043"
    ATTRS{subsystem_device}=="0x844d"
    ATTRS{class}=="0x0c0320"
    ATTRS{irq}=="23"
    ATTRS{local_cpus}=="00000000,000000ff"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{modalias}=="pci:v00008086d00001C2Dsv00001043sd0000844Dbc0Csc03i20"
    ATTRS{numa_node}=="-1"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{enable}=="1"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}==""
    ATTRS{companion}==""

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""


Naib wrote:
Uuur I remember running into this with my RazerCopperhead (I now have a Razer Abyssus).
This Imperator looks like a bazzed up copperhead (loved that mouse :D) and I am guessing on the bottom there is a button which you would need to hold down and plug the mouse in to allow the internal firmware to be updated?

The Copperhead has this and as a result udev detects a mouse and a keyboard. It took a while of viewing the output of udevadm to find a suitable different ID to then make custom udev rules to make a /dev/input/copperhead shortcut (and reference against that) and ensure they keyboard part of the mouse wasn't picked as primary


With the Imperator you have to hold down the left+middle+right mouse button at the same time to load new firmware. Didn't try it since it already has 1.13 and the 1.15 only fixes something with the LED.
Ok I think I will try a udev rule to give the devices an absolute node.

PaulBredbury wrote:
My previous Logitech wireless mouse ended up with 2 entries in udev, 1 for the mouse itself, and 1 for the small USB receiver, both looking 99.99% identical in udev (I couldn't find a udev rule to tell them apart!). I fixed it with:
Code:
Section "InputClass"
   Identifier      "USB wireless receiver for mouse"
   MatchProduct   "Receiver"
   Option         "Ignore"   "On"
EndSection

This is an xorg rule, rather than a udev rule. So hopefully you can set xorg to ignore the "mouse as keyboard" "device".


My 30-razerimperatorkeyboard.conf earlier I think is similar to yours. But it still didn't work :(

Thanks for your input guys! (pun intended)

EDIT:
I tried a udev rule file (10-local.rules)
Code:

ATTRS{idVendor}=="1532", ATTRS{idProduct}=="0017", ATTRS{manufacturer}=="Razer", ATTRS{product}=="Razer Imperator", ATTRS{name}=="Razer Razer Imperator", ATTRS{phys}=="usb-0000:00:1a.0-1.5/input0", SYMLINK+=input/razerimperatormouse
ATTRS{idVendor}=="1532", ATTRS{idProduct}=="0017", ATRS{manufacturer}=="Razer", ATTRS{product}=="Razer Imperator", ATTRS{name}=="Razer Razer Imperator", ATTRS{phys}=="usb-0000:00:1a.0-1.5/input1", SYMLINK+=input/razerimperatorkeyboard


It seems to be quite troublesome to seperate the two "devices".
Back to top
View user's profile Send private message
popsUlfr
Tux's lil' helper
Tux's lil' helper


Joined: 27 Feb 2011
Posts: 80

PostPosted: Tue Mar 01, 2011 9:59 am    Post subject: Reply with quote

I solved it, well sort of. It's more of a workaround and it didn't require any software voodoo.
I have an USB 2.0 and USB 3.0 controller on my mainboard. So I just plugged my input devices into the USB 3.0 controller and it all works now and I don't get it.
If I plug one of the devices into the USB 2.0 controller and the other into the USB 3.0 controller and vice-versa it also works.

My xorg config files:
20-keymap.conf
Code:

Section "InputClass"
   Identifier "German Keyboard"
   Driver "evdev"
   MatchIsKeyboard "on"
   Option "XkbLayout" "de"
   Option "XkbOptions" "grp:alt_shift_toggle,terminate:ctrl_alt_bksp"
   Option "Ignore" "off"
EndSection


30-razerimperatormouse.conf from HTS
Code:

Section "InputClass"
   Identifier "Razer Imperator"
   MatchIsPointer "on"
   MatchProduct "Razer Imperator"
   MatchVendor "Razer"
   MatchDevicePath "/dev/input/event*"
   Driver "evdev"
   Option "AutoServerLayout" "on"
   Option "AccelerationProfile" "0"
   Option "ConstantDeceleration" "3.0"
   Option "AccelVelocityScaling" "1.0"
   Option "Ignore" "off"
EndSection


I'm certain the configs did nothing to resolve the conflict but I just posted it for reference.
Following are udevadm outputs, the Reclusa Keyboard sits in USB 3.0 while the mouse sits in USB 2.0.

udevadm info --query=all output

1st Razer Reclusa:
Code:

udevadm info --query=all --path=$(udevadm info -q path -n /dev/input/event4)
P: /devices/pci0000:00/0000:00:1c.4/0000:03:00.0/usb3/3-3/3-3.3/3-3.3:1.0/input/input12/event4
N: input/event4
S: char/13:68
S: input/by-id/usb-Razer_Reclusa_Keyboard-event-kbd
S: input/by-path/pci-0000:03:00.0-usb-0:3.3:1.0-event-kbd
E: UDEV_LOG=3
E: DEVPATH=/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/usb3/3-3/3-3.3/3-3.3:1.0/input/input12/event4
E: MAJOR=13
E: MINOR=68
E: DEVNAME=/dev/input/event4
E: SUBSYSTEM=input
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_INPUT_KEYBOARD=1
E: ID_VENDOR=Razer
E: ID_VENDOR_ENC=Razer
E: ID_VENDOR_ID=1532
E: ID_MODEL=Reclusa_Keyboard
E: ID_MODEL_ENC=Reclusa\x20Keyboard
E: ID_MODEL_ID=0200
E: ID_REVISION=0100
E: ID_SERIAL=Razer_Reclusa_Keyboard
E: ID_TYPE=hid
E: ID_BUS=usb
E: ID_USB_INTERFACES=:030101:030000:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=usbhid
E: ID_PATH=pci-0000:03:00.0-usb-0:3.3:1.0
E: DEVLINKS=/dev/char/13:68 /dev/input/by-id/usb-Razer_Reclusa_Keyboard-event-kbd /dev/input/by-path/pci-0000:03:00.0-usb-0:3.3:1.0-event-kbd


2nd Razer Reclusa:
Code:

udevadm info --query=all --path=$(udevadm info -q path -n /dev/input/event5)
P: /devices/pci0000:00/0000:00:1c.4/0000:03:00.0/usb3/3-3/3-3.3/3-3.3:1.1/input/input13/event5
N: input/event5
S: char/13:69
S: input/by-id/usb-Razer_Reclusa_Keyboard-event-if01
S: input/by-path/pci-0000:03:00.0-usb-0:3.3:1.1-event
E: UDEV_LOG=3
E: DEVPATH=/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/usb3/3-3/3-3.3/3-3.3:1.1/input/input13/event5
E: MAJOR=13
E: MINOR=69
E: DEVNAME=/dev/input/event5
E: SUBSYSTEM=input
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_VENDOR=Razer
E: ID_VENDOR_ENC=Razer
E: ID_VENDOR_ID=1532
E: ID_MODEL=Reclusa_Keyboard
E: ID_MODEL_ENC=Reclusa\x20Keyboard
E: ID_MODEL_ID=0200
E: ID_REVISION=0100
E: ID_SERIAL=Razer_Reclusa_Keyboard
E: ID_TYPE=hid
E: ID_BUS=usb
E: ID_USB_INTERFACES=:030101:030000:
E: ID_USB_INTERFACE_NUM=01
E: ID_USB_DRIVER=usbhid
E: ID_PATH=pci-0000:03:00.0-usb-0:3.3:1.1
E: DEVLINKS=/dev/char/13:69 /dev/input/by-id/usb-Razer_Reclusa_Keyboard-event-if01 /dev/input/by-path/pci-0000:03:00.0-usb-0:3.3:1.1-event


1st Razer Imperator:
Code:

udevadm info --query=all --path=$(udevadm info -q path -n /dev/input/event2)
P: /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.0/input/input14/event2
N: input/event2
S: char/13:66
S: input/by-id/usb-Razer_Razer_Imperator-event-mouse
S: input/by-path/pci-0000:00:1a.0-usb-0:1.1:1.0-event-mouse
E: UDEV_LOG=3
E: DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.0/input/input14/event2
E: MAJOR=13
E: MINOR=66
E: DEVNAME=/dev/input/event2
E: SUBSYSTEM=input
E: ID_INPUT=1
E: ID_INPUT_MOUSE=1
E: ID_VENDOR=Razer
E: ID_VENDOR_ENC=Razer
E: ID_VENDOR_ID=1532
E: ID_MODEL=Razer_Imperator
E: ID_MODEL_ENC=Razer\x20Imperator
E: ID_MODEL_ID=0017
E: ID_REVISION=0200
E: ID_SERIAL=Razer_Razer_Imperator
E: ID_TYPE=hid
E: ID_BUS=usb
E: ID_USB_INTERFACES=:030102:030001:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=usbhid
E: ID_PATH=pci-0000:00:1a.0-usb-0:1.1:1.0
E: DEVLINKS=/dev/char/13:66 /dev/input/by-id/usb-Razer_Razer_Imperator-event-mouse /dev/input/by-path/pci-0000:00:1a.0-usb-0:1.1:1.0-event-mouse


2nd Razer Imperator:
Code:

udevadm info --query=all --path=$(udevadm info -q path -n /dev/input/event3)
P: /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.1/input/input15/event3
N: input/event3
S: char/13:67
S: input/by-id/usb-Razer_Razer_Imperator-event-kbd
S: input/by-path/pci-0000:00:1a.0-usb-0:1.1:1.1-event-kbd
E: UDEV_LOG=3
E: DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.1/input/input15/event3
E: MAJOR=13
E: MINOR=67
E: DEVNAME=/dev/input/event3
E: SUBSYSTEM=input
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_INPUT_KEYBOARD=1
E: ID_VENDOR=Razer
E: ID_VENDOR_ENC=Razer
E: ID_VENDOR_ID=1532
E: ID_MODEL=Razer_Imperator
E: ID_MODEL_ENC=Razer\x20Imperator
E: ID_MODEL_ID=0017
E: ID_REVISION=0200
E: ID_SERIAL=Razer_Razer_Imperator
E: ID_TYPE=hid
E: ID_BUS=usb
E: ID_USB_INTERFACES=:030102:030001:
E: ID_USB_INTERFACE_NUM=01
E: ID_USB_DRIVER=usbhid
E: ID_PATH=pci-0000:00:1a.0-usb-0:1.1:1.1
E: DEVLINKS=/dev/char/13:67 /dev/input/by-id/usb-Razer_Razer_Imperator-event-kbd /dev/input/by-path/pci-0000:00:1a.0-usb-0:1.1:1.1-event-kbd


udevadm info --query=all --attribute-walk output

1st Razer Reclusa:
Code:

udevadm info --query=all --attribute-walk --path=$(udevadm info -q path -n /dev/input/event4)

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/usb3/3-3/3-3.3/3-3.3:1.0/input/input8/event4':
    KERNEL=="event4"
    SUBSYSTEM=="input"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/usb3/3-3/3-3.3/3-3.3:1.0/input/input8':
    KERNELS=="input8"
    SUBSYSTEMS=="input"
    DRIVERS==""
    ATTRS{name}=="Razer Reclusa Keyboard"
    ATTRS{phys}=="usb-0000:03:00.0-3.3/input0"
    ATTRS{uniq}==""
    ATTRS{modalias}=="input:b0003v1532p0200e0110-e0,1,4,11,14,k71,72,73,74,75,77,79,7A,7B,7C,7D,7E,7F,80,81,82,83, \
    84,85,86,87,88,89,8A,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,F0,ram4,l0,1,2,sfw"

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/usb3/3-3/3-3.3/3-3.3:1.0':
    KERNELS=="3-3.3:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="usbhid"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bNumEndpoints}=="01"
    ATTRS{bInterfaceClass}=="03"
    ATTRS{bInterfaceSubClass}=="01"
    ATTRS{bInterfaceProtocol}=="01"
    ATTRS{modalias}=="usb:v1532p0200d0100dc00dsc00dp00ic03isc01ip01"
    ATTRS{supports_autosuspend}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/usb3/3-3/3-3.3':
    KERNELS=="3-3.3"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 2"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="a0"
    ATTRS{bMaxPower}=="100mA"
    ATTRS{urbnum}=="41"
    ATTRS{idVendor}=="1532"
    ATTRS{idProduct}=="0200"
    ATTRS{bcdDevice}=="0100"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="3"
    ATTRS{devnum}=="6"
    ATTRS{devpath}=="3.3"
    ATTRS{version}==" 1.10"
    ATTRS{maxchild}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Razer"
    ATTRS{product}=="Reclusa Keyboard"

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/usb3/3-3':
    KERNELS=="3-3"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}=="PDB"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="a0"
    ATTRS{bMaxPower}=="200mA"
    ATTRS{urbnum}=="27"
    ATTRS{idVendor}=="1532"
    ATTRS{idProduct}=="0103"
    ATTRS{bcdDevice}=="0001"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="3"
    ATTRS{devnum}=="5"
    ATTRS{devpath}=="3"
    ATTRS{version}==" 1.10"
    ATTRS{maxchild}=="3"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Chicony"
    ATTRS{product}=="Razer Reclusa"

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/usb3':
    KERNELS=="usb3"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="57"
    ATTRS{idVendor}=="1d6b"
    ATTRS{idProduct}=="0003"
    ATTRS{bcdDevice}=="0206"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="03"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="9"
    ATTRS{speed}=="5000"
    ATTRS{busnum}=="3"
    ATTRS{devnum}=="1"
    ATTRS{devpath}=="0"
    ATTRS{version}==" 3.00"
    ATTRS{maxchild}=="4"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Linux 2.6.37-tuxonice xhci_hcd"
    ATTRS{product}=="xHCI Host Controller"
    ATTRS{serial}=="0000:03:00.0"
    ATTRS{authorized_default}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:03:00.0':
    KERNELS=="0000:03:00.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="xhci_hcd"
    ATTRS{vendor}=="0x1033"
    ATTRS{device}=="0x0194"
    ATTRS{subsystem_vendor}=="0x1043"
    ATTRS{subsystem_device}=="0x8413"
    ATTRS{class}=="0x0c0330"
    ATTRS{irq}=="16"
    ATTRS{local_cpus}=="00000000,000000ff"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{modalias}=="pci:v00001033d00000194sv00001043sd00008413bc0Csc03i30"
    ATTRS{numa_node}=="-1"
    ATTRS{dma_mask_bits}=="64"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{enable}=="1"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}==""

  looking at parent device '/devices/pci0000:00/0000:00:1c.4':
    KERNELS=="0000:00:1c.4"
    SUBSYSTEMS=="pci"
    DRIVERS=="pcieport"
    ATTRS{vendor}=="0x8086"
    ATTRS{device}=="0x1c18"
    ATTRS{subsystem_vendor}=="0x1043"
    ATTRS{subsystem_device}=="0x844d"
    ATTRS{class}=="0x060400"
    ATTRS{irq}=="17"
    ATTRS{local_cpus}=="00000000,000000ff"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{modalias}=="pci:v00008086d00001C18sv00001043sd0000844Dbc06sc04i00"
    ATTRS{numa_node}=="-1"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{enable}=="2"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}=="1"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""


2nd Razer Reclusa:
Code:

udevadm info --query=all --attribute-walk --path=$(udevadm info -q path -n /dev/input/event5)

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/usb3/3-3/3-3.3/3-3.3:1.1/input/input13/event5':
    KERNEL=="event5"
    SUBSYSTEM=="input"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/usb3/3-3/3-3.3/3-3.3:1.1/input/input13':
    KERNELS=="input13"
    SUBSYSTEMS=="input"
    DRIVERS==""
    ATTRS{name}=="Razer Reclusa Keyboard"
    ATTRS{phys}=="usb-0000:03:00.0-3.3/input1"
    ATTRS{uniq}==""
    ATTRS{modalias}=="input:b0003v1532p0200e0110-e0,1,2,3,4,k71,72,73,74,77,80,82,83,85,86,87,88,89,8A,8B,8C,8E,8F, \
    90,96,98,9B,9C,9E,9F,A1,A3,A4,A5,A6,A7,A8,A9,AB,AC,AD,AE,B1,B2,B5,CE,CF,D0,D1,D2,D5,D8,D9,DB,E2,EA,EB,100,162,166, \
    16A,16E,178,179,17A,17B,17C,17D,17F,180,181,182,185,18C,18D,192,193,195,1A0,1A1,1A2,1A3,1A4,1A5,1A6,1A7,1A8,1A9,1AA, \
    1AB,1AC,1AD,1AE,1B0,1B1,1B7,r6,a20,m4,lsfw"

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/usb3/3-3/3-3.3/3-3.3:1.1':
    KERNELS=="3-3.3:1.1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usbhid"
    ATTRS{bInterfaceNumber}=="01"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bNumEndpoints}=="01"
    ATTRS{bInterfaceClass}=="03"
    ATTRS{bInterfaceSubClass}=="00"
    ATTRS{bInterfaceProtocol}=="00"
    ATTRS{modalias}=="usb:v1532p0200d0100dc00dsc00dp00ic03isc00ip00"
    ATTRS{supports_autosuspend}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/usb3/3-3/3-3.3':
    KERNELS=="3-3.3"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 2"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="a0"
    ATTRS{bMaxPower}=="100mA"
    ATTRS{urbnum}=="27"
    ATTRS{idVendor}=="1532"
    ATTRS{idProduct}=="0200"
    ATTRS{bcdDevice}=="0100"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="3"
    ATTRS{devnum}=="8"
    ATTRS{devpath}=="3.3"
    ATTRS{version}==" 1.10"
    ATTRS{maxchild}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Razer"
    ATTRS{product}=="Reclusa Keyboard"

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/usb3/3-3':
    KERNELS=="3-3"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}=="PDB"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="a0"
    ATTRS{bMaxPower}=="200mA"
    ATTRS{urbnum}=="28"
    ATTRS{idVendor}=="1532"
    ATTRS{idProduct}=="0103"
    ATTRS{bcdDevice}=="0001"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="3"
    ATTRS{devnum}=="7"
    ATTRS{devpath}=="3"
    ATTRS{version}==" 1.10"
    ATTRS{maxchild}=="3"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Chicony"
    ATTRS{product}=="Razer Reclusa"

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/usb3':
    KERNELS=="usb3"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="76"
    ATTRS{idVendor}=="1d6b"
    ATTRS{idProduct}=="0003"
    ATTRS{bcdDevice}=="0206"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="03"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="9"
    ATTRS{speed}=="5000"
    ATTRS{busnum}=="3"
    ATTRS{devnum}=="1"
    ATTRS{devpath}=="0"
    ATTRS{version}==" 3.00"
    ATTRS{maxchild}=="4"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Linux 2.6.37-tuxonice xhci_hcd"
    ATTRS{product}=="xHCI Host Controller"
    ATTRS{serial}=="0000:03:00.0"
    ATTRS{authorized_default}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1c.4/0000:03:00.0':
    KERNELS=="0000:03:00.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="xhci_hcd"
    ATTRS{vendor}=="0x1033"
    ATTRS{device}=="0x0194"
    ATTRS{subsystem_vendor}=="0x1043"
    ATTRS{subsystem_device}=="0x8413"
    ATTRS{class}=="0x0c0330"
    ATTRS{irq}=="16"
    ATTRS{local_cpus}=="00000000,000000ff"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{modalias}=="pci:v00001033d00000194sv00001043sd00008413bc0Csc03i30"
    ATTRS{numa_node}=="-1"
    ATTRS{dma_mask_bits}=="64"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{enable}=="1"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}==""

  looking at parent device '/devices/pci0000:00/0000:00:1c.4':
    KERNELS=="0000:00:1c.4"
    SUBSYSTEMS=="pci"
    DRIVERS=="pcieport"
    ATTRS{vendor}=="0x8086"
    ATTRS{device}=="0x1c18"
    ATTRS{subsystem_vendor}=="0x1043"
    ATTRS{subsystem_device}=="0x844d"
    ATTRS{class}=="0x060400"
    ATTRS{irq}=="17"
    ATTRS{local_cpus}=="00000000,000000ff"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{modalias}=="pci:v00008086d00001C18sv00001043sd0000844Dbc06sc04i00"
    ATTRS{numa_node}=="-1"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{enable}=="2"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}=="1"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""


1st Razer Imperator:
Code:

udevadm info --query=all --attribute-walk --path=$(udevadm info -q path -n /dev/input/event2)

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.0/input/input14/event2':
    KERNEL=="event2"
    SUBSYSTEM=="input"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.0/input/input14':
    KERNELS=="input14"
    SUBSYSTEMS=="input"
    DRIVERS==""
    ATTRS{name}=="Razer Razer Imperator"
    ATTRS{phys}=="usb-0000:00:1a.0-1.1/input0"
    ATTRS{uniq}==""
    ATTRS{modalias}=="input:b0003v1532p0017e0111-e0,1,2,4,k110,111,112,113,114,115,116,r0,1,8,am4,lsfw"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.0':
    KERNELS=="1-1.1:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="usbhid"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bNumEndpoints}=="01"
    ATTRS{bInterfaceClass}=="03"
    ATTRS{bInterfaceSubClass}=="01"
    ATTRS{bInterfaceProtocol}=="02"
    ATTRS{modalias}=="usb:v1532p0017d0200dc00dsc00dp00ic03isc01ip02"
    ATTRS{supports_autosuspend}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1':
    KERNELS=="1-1.1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 2"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="a0"
    ATTRS{bMaxPower}=="100mA"
    ATTRS{urbnum}=="2700"
    ATTRS{idVendor}=="1532"
    ATTRS{idProduct}=="0017"
    ATTRS{bcdDevice}=="0200"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="6"
    ATTRS{devpath}=="1.1"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Razer"
    ATTRS{product}=="Razer Imperator"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1':
    KERNELS=="1-1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="86"
    ATTRS{idVendor}=="8087"
    ATTRS{idProduct}=="0024"
    ATTRS{bcdDevice}=="0000"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="2"
    ATTRS{devpath}=="1"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="6"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1':
    KERNELS=="usb1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="24"
    ATTRS{idVendor}=="1d6b"
    ATTRS{idProduct}=="0002"
    ATTRS{bcdDevice}=="0206"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="1"
    ATTRS{devpath}=="0"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="2"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Linux 2.6.37-tuxonice ehci_hcd"
    ATTRS{product}=="EHCI Host Controller"
    ATTRS{serial}=="0000:00:1a.0"
    ATTRS{authorized_default}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0':
    KERNELS=="0000:00:1a.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="ehci_hcd"
    ATTRS{vendor}=="0x8086"
    ATTRS{device}=="0x1c2d"
    ATTRS{subsystem_vendor}=="0x1043"
    ATTRS{subsystem_device}=="0x844d"
    ATTRS{class}=="0x0c0320"
    ATTRS{irq}=="23"
    ATTRS{local_cpus}=="00000000,000000ff"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{modalias}=="pci:v00008086d00001C2Dsv00001043sd0000844Dbc0Csc03i20"
    ATTRS{numa_node}=="-1"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{enable}=="1"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}==""
    ATTRS{companion}==""

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""


2nd Razer Imperator:
Code:

udevadm info --query=all --attribute-walk --path=$(udevadm info -q path -n /dev/input/event3)

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.1/input/input15/event3':
    KERNEL=="event3"
    SUBSYSTEM=="input"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.1/input/input15':
    KERNELS=="input15"
    SUBSYSTEMS=="input"
    DRIVERS==""
    ATTRS{name}=="Razer Razer Imperator"
    ATTRS{phys}=="usb-0000:00:1a.0-1.1/input1"
    ATTRS{uniq}==""
    ATTRS{modalias}=="input:b0003v1532p0017e0111-e0,1,2,3,4,14,k71,72,73,74,75,77,79,7A,7B,7C,7D,7E,7F, \
    80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8E,8F,90,96,98,9B,9C,9E,9F,A1,A3,A4,A5,A6,A7,A8,A9,AB,AC,AD, \
    AE,B0,B1,B2,B3,B4,B5,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,CE,CF,D0,D1,D2,D5,D8,D9,DB,E2,EA,EB,F0,100, \
    162,166,16A,16E,178,179,17A,17B,17C,17D,17F,180,181,182,185,18C,18D,192,193,195,1A0,1A1,1A2,1A3,1A4, \
    1A5,1A6,1A7,1A8,1A9,1AA,1AB,1AC,1AD,1AE,1B0,1B1,1B7,r6,a20,m4,lsfw"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.1':
    KERNELS=="1-1.1:1.1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usbhid"
    ATTRS{bInterfaceNumber}=="01"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bNumEndpoints}=="01"
    ATTRS{bInterfaceClass}=="03"
    ATTRS{bInterfaceSubClass}=="00"
    ATTRS{bInterfaceProtocol}=="01"
    ATTRS{modalias}=="usb:v1532p0017d0200dc00dsc00dp00ic03isc00ip01"
    ATTRS{supports_autosuspend}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1':
    KERNELS=="1-1.1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 2"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="a0"
    ATTRS{bMaxPower}=="100mA"
    ATTRS{urbnum}=="6100"
    ATTRS{idVendor}=="1532"
    ATTRS{idProduct}=="0017"
    ATTRS{bcdDevice}=="0200"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="6"
    ATTRS{devpath}=="1.1"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Razer"
    ATTRS{product}=="Razer Imperator"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1':
    KERNELS=="1-1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="86"
    ATTRS{idVendor}=="8087"
    ATTRS{idProduct}=="0024"
    ATTRS{bcdDevice}=="0000"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="2"
    ATTRS{devpath}=="1"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="6"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1':
    KERNELS=="usb1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="24"
    ATTRS{idVendor}=="1d6b"
    ATTRS{idProduct}=="0002"
    ATTRS{bcdDevice}=="0206"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="1"
    ATTRS{devpath}=="0"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="2"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Linux 2.6.37-tuxonice ehci_hcd"
    ATTRS{product}=="EHCI Host Controller"
    ATTRS{serial}=="0000:00:1a.0"
    ATTRS{authorized_default}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0':
    KERNELS=="0000:00:1a.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="ehci_hcd"
    ATTRS{vendor}=="0x8086"
    ATTRS{device}=="0x1c2d"
    ATTRS{subsystem_vendor}=="0x1043"
    ATTRS{subsystem_device}=="0x844d"
    ATTRS{class}=="0x0c0320"
    ATTRS{irq}=="23"
    ATTRS{local_cpus}=="00000000,000000ff"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{modalias}=="pci:v00008086d00001C2Dsv00001043sd0000844Dbc0Csc03i20"
    ATTRS{numa_node}=="-1"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{enable}=="1"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}==""
    ATTRS{companion}==""

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""


Xorg log
Code:

[    12.107]
X.Org X Server 1.9.4
Release Date: 2011-02-04
[    12.107] X Protocol Version 11, Revision 0
[    12.107] Build Operating System: Linux 2.6.37-tuxonice x86_64 Gentoo
[    12.107] Current Operating System: Linux theraven 2.6.37-tuxonice #3 SMP Sun Feb 27 02:41:42 CET 2011 x86_64
[    12.107] Kernel command line: BOOT_IMAeGE=/boot/kernel-2.6.37-tuxonice root=/dev/sdb1 ro
[    12.107] Build Date: 26 February 2011  08:19:05PM
[    12.107] 
[    12.107] Current version of pixman: 0.20.2
[    12.107]    Before reporting problems, check http://wiki.x.org
   to make sure that you have the latest version.
[    12.107] Markers: (--) probed, (**) from config file, (==) default setting,
   (++) from command line, (!!) notice, (II) informational,
   (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    12.107] (==) Log file: "/var/log/Xorg.0.log", Time: Tue Mar  1 10:25:27 2011
[    12.137] (==) Using config file: "/etc/X11/xorg.conf"
[    12.137] (==) Using config directory: "/etc/X11/xorg.conf.d"
[    12.137] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[    12.298] (==) ServerLayout "Layout0"
[    12.298] (**) |-->Screen "Screen0" (0)
[    12.298] (**) |   |-->Monitor "Monitor0"
[    12.298] (**) |   |-->Device "Device0"
[    12.298] (==) Automatically adding devices
[    12.298] (==) Automatically enabling devices
[    12.395] (==) FontPath set to:
   /usr/share/fonts/misc/,
   /usr/share/fonts/TTF/,
   /usr/share/fonts/OTF/,
   /usr/share/fonts/Type1/,
   /usr/share/fonts/100dpi/,
   /usr/share/fonts/75dpi/
[    12.395] (==) ModulePath set to "/usr/lib64/xorg/modules"
[    12.395] (**) Extension "Composite" is enabled
[    12.395] (II) The server relies on udev to provide the list of input devices.
   If no devices become available, reconfigure udev or disable AutoAddDevices.
[    12.395] (II) Loader magic: 0x7cb140
[    12.395] (II) Module ABI versions:
[    12.395]    X.Org ANSI C Emulation: 0.4
[    12.395]    X.Org Video Driver: 8.0
[    12.395]    X.Org XInput driver : 11.0
[    12.395]    X.Org Server Extension : 4.0
[    12.397] (--) PCI:*(0:1:0:0) 10de:1081:10b0:0801 rev 161, Mem @ 0xfa000000/16777216, 0xe8000000/134217728, 0xf0000000/33554432, I/O @ 0x0000e000/128, BIOS @ 0x????????/524288
[    12.397] (II) Open ACPI successful (/var/run/acpid.socket)
[    12.397] (II) LoadModule: "extmod"
[    12.405] (II) Loading /usr/lib64/xorg/modules/extensions/libextmod.so
[    12.414] (II) Module extmod: vendor="X.Org Foundation"
[    12.414]    compiled for 1.9.4, module version = 1.0.0
[    12.414]    Module class: X.Org Server Extension
[    12.414]    ABI class: X.Org Server Extension, version 4.0
[    12.414] (II) Loading extension MIT-SCREEN-SAVER
[    12.414] (II) Loading extension XFree86-VidModeExtension
[    12.414] (II) Loading extension XFree86-DGA
[    12.414] (II) Loading extension DPMS
[    12.414] (II) Loading extension XVideo
[    12.414] (II) Loading extension XVideo-MotionCompensation
[    12.414] (II) Loading extension X-Resource
[    12.414] (II) LoadModule: "dbe"
[    12.414] (II) Loading /usr/lib64/xorg/modules/extensions/libdbe.so
[    12.415] (II) Module dbe: vendor="X.Org Foundation"
[    12.415]    compiled for 1.9.4, module version = 1.0.0
[    12.415]    Module class: X.Org Server Extension
[    12.415]    ABI class: X.Org Server Extension, version 4.0
[    12.415] (II) Loading extension DOUBLE-BUFFER
[    12.415] (II) LoadModule: "glx"
[    12.431] (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
[    13.447] (II) Module glx: vendor="NVIDIA Corporation"
[    13.456]    compiled for 4.0.2, module version = 1.0.0
[    13.456]    Module class: X.Org Server Extension
[    13.456] (II) NVIDIA GLX Module  260.19.36  Tue Jan 18 17:12:12 PST 2011
[    13.456] (II) Loading extension GLX
[    13.456] (II) LoadModule: "record"
[    13.456] (II) Loading /usr/lib64/xorg/modules/extensions/librecord.so
[    13.464] (II) Module record: vendor="X.Org Foundation"
[    13.464]    compiled for 1.9.4, module version = 1.13.0
[    13.464]    Module class: X.Org Server Extension
[    13.464]    ABI class: X.Org Server Extension, version 4.0
[    13.464] (II) Loading extension RECORD
[    13.464] (II) LoadModule: "dri"
[    13.482] (WW) Warning, couldn't open module dri
[    13.482] (II) UnloadModule: "dri"
[    13.482] (EE) Failed to load module "dri" (module does not exist, 0)
[    13.482] (II) LoadModule: "dri2"
[    13.482] (WW) Warning, couldn't open module dri2
[    13.482] (II) UnloadModule: "dri2"
[    13.482] (EE) Failed to load module "dri2" (module does not exist, 0)
[    13.482] (II) LoadModule: "nvidia"
[    13.483] (II) Loading /usr/lib64/xorg/modules/drivers/nvidia_drv.so
[    13.559] (II) Module nvidia: vendor="NVIDIA Corporation"
[    13.562]    compiled for 4.0.2, module version = 1.0.0
[    13.562]    Module class: X.Org Video Driver
[    13.574] (II) NVIDIA dlloader X Driver  260.19.36  Tue Jan 18 16:57:32 PST 2011
[    13.574] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[    13.574] (++) using VT number 7

[    13.580] (II) Loading sub module "fb"
[    13.580] (II) LoadModule: "fb"
[    13.580] (II) Loading /usr/lib64/xorg/modules/libfb.so
[    13.591] (II) Module fb: vendor="X.Org Foundation"
[    13.591]    compiled for 1.9.4, module version = 1.0.0
[    13.591]    ABI class: X.Org ANSI C Emulation, version 0.4
[    13.591] (II) Loading sub module "wfb"
[    13.591] (II) LoadModule: "wfb"
[    13.591] (II) Loading /usr/lib64/xorg/modules/libwfb.so
[    13.595] (II) Module wfb: vendor="X.Org Foundation"
[    13.595]    compiled for 1.9.4, module version = 1.0.0
[    13.595]    ABI class: X.Org ANSI C Emulation, version 0.4
[    13.595] (II) Loading sub module "ramdac"
[    13.595] (II) LoadModule: "ramdac"
[    13.595] (II) Module "ramdac" already built-in
[    13.624] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
[    13.624] (==) NVIDIA(0): RGB weight 888
[    13.624] (==) NVIDIA(0): Default visual is TrueColor
[    13.624] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[    13.624] (**) NVIDIA(0): Enabling RENDER acceleration
[    13.624] (II) NVIDIA(0): Support for GLX with the Damage and Composite X extensions is
[    13.624] (II) NVIDIA(0):     enabled.
[    14.355] (II) NVIDIA(0): NVIDIA GPU GeForce GTX 570 (GF110) at PCI:1:0:0 (GPU-0)
[    14.355] (--) NVIDIA(0): Memory: 1310720 kBytes
[    14.355] (--) NVIDIA(0): VideoBIOS: 70.10.17.00.00
[    14.355] (II) NVIDIA(0): Detected PCI Express Link width: 16X
[    14.355] (--) NVIDIA(0): Interlaced video modes are supported on this GPU
[    14.355] (--) NVIDIA(0): Connected display device(s) on GeForce GTX 570 at PCI:1:0:0
[    14.355] (--) NVIDIA(0):     Samsung SyncMaster (DFP-0)
[    14.355] (--) NVIDIA(0): Samsung SyncMaster (DFP-0): 330.0 MHz maximum pixel clock
[    14.355] (--) NVIDIA(0): Samsung SyncMaster (DFP-0): Internal Dual Link TMDS
[    14.393] (II) NVIDIA(0): Assigned Display Device: DFP-0
[    14.393] (==) NVIDIA(0):
[    14.393] (==) NVIDIA(0): No modes were requested; the default mode "nvidia-auto-select"
[    14.393] (==) NVIDIA(0):     will be used as the requested mode.
[    14.393] (==) NVIDIA(0):
[    14.393] (II) NVIDIA(0): Validated modes:
[    14.393] (II) NVIDIA(0):     "nvidia-auto-select"
[    14.393] (II) NVIDIA(0): Virtual screen size determined to be 1680 x 1050
[    14.431] (--) NVIDIA(0): DPI set to (90, 88); computed from "UseEdidDpi" X config
[    14.431] (--) NVIDIA(0):     option
[    14.431] (==) NVIDIA(0): Enabling 32-bit ARGB GLX visuals.
[    14.431] (--) Depth 24 pixmap format is 32 bpp
[    14.431] (II) NVIDIA: Using 3069.00 MB of virtual memory for indirect memory
[    14.431] (II) NVIDIA:     access.
[    14.439] (II) NVIDIA(0): Initialized GPU GART.
[    14.447] (II) NVIDIA(0): Setting mode "nvidia-auto-select"
[    14.495] (II) Loading extension NV-GLX
[    14.542] (II) NVIDIA(0): Initialized OpenGL Acceleration
[    14.550] (==) NVIDIA(0): Disabling shared memory pixmaps
[    14.550] (II) NVIDIA(0): Initialized X Rendering Acceleration
[    14.550] (==) NVIDIA(0): Backing store disabled
[    14.550] (==) NVIDIA(0): Silken mouse enabled
[    14.567] (**) NVIDIA(0): DPMS enabled
[    14.578] (II) Loading extension NV-CONTROL
[    14.578] (II) Loading extension XINERAMA
[    14.578] (II) Loading sub module "dri2"
[    14.578] (II) LoadModule: "dri2"
[    14.578] (WW) Warning, couldn't open module dri2
[    14.578] (II) UnloadModule: "dri2"
[    14.578] (EE) NVIDIA: Failed to load module "dri2" (module does not exist, 0)
[    14.578] (II) NVIDIA(0): The X server will not be able to send the VDPAU driver name to
[    14.578] (II) NVIDIA(0):     libvdpau.
[    14.578] (==) RandR enabled
[    14.578] (II) Initializing built-in extension Generic Event Extension
[    14.578] (II) Initializing built-in extension SHAPE
[    14.578] (II) Initializing built-in extension MIT-SHM
[    14.578] (II) Initializing built-in extension XInputExtension
[    14.578] (II) Initializing built-in extension XTEST
[    14.578] (II) Initializing built-in extension BIG-REQUESTS
[    14.578] (II) Initializing built-in extension SYNC
[    14.578] (II) Initializing built-in extension XKEYBOARD
[    14.578] (II) Initializing built-in extension XC-MISC
[    14.578] (II) Initializing built-in extension XINERAMA
[    14.578] (II) Initializing built-in extension XFIXES
[    14.578] (II) Initializing built-in extension RENDER
[    14.578] (II) Initializing built-in extension RANDR
[    14.578] (II) Initializing built-in extension COMPOSITE
[    14.578] (II) Initializing built-in extension DAMAGE
[    14.579] (II) Initializing extension GLX
[    15.002] (II) config/udev: Adding input device Power Button (/dev/input/event1)
[    15.002] (**) Power Button: Applying InputClass "evdev keyboard catchall"
[    15.002] (**) Power Button: Applying InputClass "German Keyboard"
[    15.002] (II) LoadModule: "evdev"
[    15.002] (II) Loading /usr/lib64/xorg/modules/input/evdev_drv.so
[    15.010] (II) Module evdev: vendor="X.Org Foundation"
[    15.010]    compiled for 1.9.4, module version = 2.6.0
[    15.010]    Module class: X.Org XInput Driver
[    15.010]    ABI class: X.Org XInput driver, version 11.0
[    15.010] (**) Power Button: always reports core events
[    15.010] (**) Power Button: Device: "/dev/input/event1"
[    15.014] (--) Power Button: Found keys
[    15.014] (II) Power Button: Configuring as keyboard
[    15.014] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD)
[    15.014] (**) Option "xkb_rules" "evdev"
[    15.014] (**) Option "xkb_model" "evdev"
[    15.014] (**) Option "xkb_layout" "de"
[    15.014] (**) Option "xkb_options" "grp:alt_shift_toggle,terminate:ctrl_alt_bksp"
[    15.046] (II) config/udev: Adding input device Power Button (/dev/input/event0)
[    15.046] (**) Power Button: Applying InputClass "evdev keyboard catchall"
[    15.046] (**) Power Button: Applying InputClass "German Keyboard"
[    15.046] (**) Power Button: always reports core events
[    15.046] (**) Power Button: Device: "/dev/input/event0"
[    15.053] (--) Power Button: Found keys
[    15.053] (II) Power Button: Configuring as keyboard
[    15.053] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD)
[    15.053] (**) Option "xkb_rules" "evdev"
[    15.053] (**) Option "xkb_model" "evdev"
[    15.053] (**) Option "xkb_layout" "de"
[    15.053] (**) Option "xkb_options" "grp:alt_shift_toggle,terminate:ctrl_alt_bksp"
[    15.056] (II) config/udev: Adding input device Razer Reclusa Keyboard (/dev/input/event4)
[    15.057] (**) Razer Reclusa Keyboard: Applying InputClass "evdev keyboard catchall"
[    15.057] (**) Razer Reclusa Keyboard: Applying InputClass "German Keyboard"
[    15.057] (**) Razer Reclusa Keyboard: always reports core events
[    15.057] (**) Razer Reclusa Keyboard: Device: "/dev/input/event4"
[    15.057] (--) Razer Reclusa Keyboard: Found keys
[    15.057] (II) Razer Reclusa Keyboard: Configuring as keyboard
[    15.057] (II) XINPUT: Adding extended input device "Razer Reclusa Keyboard" (type: KEYBOARD)
[    15.057] (**) Option "xkb_rules" "evdev"
[    15.057] (**) Option "xkb_model" "evdev"
[    15.057] (**) Option "xkb_layout" "de"
[    15.057] (**) Option "xkb_options" "grp:alt_shift_toggle,terminate:ctrl_alt_bksp"
[    15.057] (II) config/udev: Adding input device Razer Reclusa Keyboard (/dev/input/event5)
[    15.057] (**) Razer Reclusa Keyboard: Applying InputClass "evdev keyboard catchall"
[    15.057] (**) Razer Reclusa Keyboard: Applying InputClass "German Keyboard"
[    15.058] (**) Razer Reclusa Keyboard: always reports core events
[    15.058] (**) Razer Reclusa Keyboard: Device: "/dev/input/event5"
[    15.058] (--) Razer Reclusa Keyboard: Found 1 mouse buttons
[    15.058] (--) Razer Reclusa Keyboard: Found scroll wheel(s)
[    15.058] (--) Razer Reclusa Keyboard: Found relative axes
[    15.058] (--) Razer Reclusa Keyboard: Found absolute axes
[    15.058] (--) Razer Reclusa Keyboard: Found keys
[    15.058] (II) Razer Reclusa Keyboard: Configuring as mouse
[    15.058] (II) Razer Reclusa Keyboard: Configuring as keyboard
[    15.058] (II) Razer Reclusa Keyboard: Adding scrollwheel support
[    15.058] (**) Razer Reclusa Keyboard: YAxisMapping: buttons 4 and 5
[    15.058] (**) Razer Reclusa Keyboard: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[    15.058] (II) XINPUT: Adding extended input device "Razer Reclusa Keyboard" (type: KEYBOARD)
[    15.058] (**) Option "xkb_rules" "evdev"
[    15.058] (**) Option "xkb_model" "evdev"
[    15.058] (**) Option "xkb_layout" "de"
[    15.058] (**) Option "xkb_options" "grp:alt_shift_toggle,terminate:ctrl_alt_bksp"
[    15.058] (EE) Razer Reclusa Keyboard: failed to initialize for relative axes.
[    15.058] (II) Razer Reclusa Keyboard: initialized for absolute axes.
[    15.059] (II) config/udev: Adding input device Razer Razer Imperator (/dev/input/event2)
[    15.059] (**) Razer Razer Imperator: Applying InputClass "evdev pointer catchall"
[    15.059] (**) Razer Razer Imperator: Applying InputClass "Razer Imperator"
[    15.059] (**) Razer Razer Imperator: always reports core events
[    15.059] (**) Razer Razer Imperator: Device: "/dev/input/event2"
[    15.059] (--) Razer Razer Imperator: Found 11 mouse buttons
[    15.059] (--) Razer Razer Imperator: Found scroll wheel(s)
[    15.059] (--) Razer Razer Imperator: Found relative axes
[    15.059] (--) Razer Razer Imperator: Found x and y relative axes
[    15.059] (II) Razer Razer Imperator: Configuring as mouse
[    15.059] (II) Razer Razer Imperator: Adding scrollwheel support
[    15.059] (**) Razer Razer Imperator: YAxisMapping: buttons 4 and 5
[    15.059] (**) Razer Razer Imperator: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[    15.059] (II) XINPUT: Adding extended input device "Razer Razer Imperator" (type: MOUSE)
[    15.059] (**) Razer Razer Imperator: (accel) keeping acceleration scheme 1
[    15.059] (**) Option "ConstantDeceleration" "3.0"
[    15.059] (**) Razer Razer Imperator: (accel) constant deceleration by 3.0
[    15.059] (**) Option "AccelerationProfile" "0"
[    15.059] (**) Razer Razer Imperator: (accel) acceleration profile 0
[    15.059] (**) Razer Razer Imperator: (accel) acceleration factor: 2.000
[    15.059] (**) Razer Razer Imperator: (accel) acceleration threshold: 4
[    15.059] (II) Razer Razer Imperator: initialized for relative axes.
[    15.060] (II) config/udev: Adding input device Razer Razer Imperator (/dev/input/mouse0)
[    15.060] (II) No input driver/identifier specified (ignoring)
[    15.060] (II) config/udev: Adding input device Razer Razer Imperator (/dev/input/event3)
[    15.060] (**) Razer Razer Imperator: Applying InputClass "evdev keyboard catchall"
[    15.060] (**) Razer Razer Imperator: Applying InputClass "German Keyboard"
[    15.060] (**) Razer Razer Imperator: always reports core events
[    15.060] (**) Razer Razer Imperator: Device: "/dev/input/event3"
[    15.060] (--) Razer Razer Imperator: Found 1 mouse buttons
[    15.060] (--) Razer Razer Imperator: Found scroll wheel(s)
[    15.060] (--) Razer Razer Imperator: Found relative axes
[    15.060] (--) Razer Razer Imperator: Found absolute axes
[    15.060] (--) Razer Razer Imperator: Found keys
[    15.060] (II) Razer Razer Imperator: Configuring as mouse
[    15.060] (II) Razer Razer Imperator: Configuring as keyboard
[    15.060] (II) Razer Razer Imperator: Adding scrollwheel support
[    15.060] (**) Razer Razer Imperator: YAxisMapping: buttons 4 and 5
[    15.060] (**) Razer Razer Imperator: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[    15.060] (II) XINPUT: Adding extended input device "Razer Razer Imperator" (type: KEYBOARD)
[    15.060] (**) Option "xkb_rules" "evdev"
[    15.060] (**) Option "xkb_model" "evdev"
[    15.060] (**) Option "xkb_layout" "de"
[    15.060] (**) Option "xkb_options" "grp:alt_shift_toggle,terminate:ctrl_alt_bksp"
[    15.061] (EE) Razer Razer Imperator: failed to initialize for relative axes.
[    15.061] (II) Razer Razer Imperator: initialized for absolute axes.



If anyone can explain that phenomenon he/she gets a cookie 8)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Desktop Environments 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