Bug 13037 - evdev and cherry keyboard: no arrow keys
Summary: evdev and cherry keyboard: no arrow keys
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Input/evdev (show other bugs)
Version: 7.3 (2007.09)
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Peter Hutterer
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
: 13039 13042 13046 13047 13050 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-11-01 07:36 UTC by NOT ACTIVE SINCE DECADES, PLEASE DELETE ME
Modified: 2010-03-31 01:27 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
got a debug xorg-server running (85.37 KB, text/plain)
2008-03-15 08:29 UTC, NOT ACTIVE SINCE DECADES, PLEASE DELETE ME
no flags Details
the xorg log (94.65 KB, text/plain)
2008-05-03 16:39 UTC, NOT ACTIVE SINCE DECADES, PLEASE DELETE ME
no flags Details
the next xorg.log (96.41 KB, text/plain)
2008-05-06 21:00 UTC, NOT ACTIVE SINCE DECADES, PLEASE DELETE ME
no flags Details
0001-config-deprecate-and-ignore-the-use-of-input.xkb.patch (3.62 KB, patch)
2008-05-07 18:41 UTC, Peter Hutterer
no flags Details | Splinter Review
0003-config-override-xkb_-r-m-l-v-with-Xkb-r-m-l-v-if.patch (6.71 KB, patch)
2008-05-08 01:41 UTC, Peter Hutterer
no flags Details | Splinter Review
hal-device output (148.79 KB, text/plain)
2008-11-02 11:45 UTC, NOT ACTIVE SINCE DECADES, PLEASE DELETE ME
no flags Details
the evtest.c output (4.00 KB, text/plain)
2008-12-18 14:30 UTC, NOT ACTIVE SINCE DECADES, PLEASE DELETE ME
no flags Details
the next evtest.c output (52.00 KB, text/plain)
2008-12-19 07:16 UTC, NOT ACTIVE SINCE DECADES, PLEASE DELETE ME
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2007-11-01 07:36:53 UTC
i switched to evdev and the perixx game-mouse with seven buttons (http://www.perixx.com) now works absolutely fine. however, my old perixx keyboard didn't work with evdev at all. it has a very slim layout with all keys present just once. the evdev driver triggered the alt key non-stop, so that, if i typed something, menues and dialogs popped up randomly. the keyboard was not to mention so or so. i now have a cherry evolution stream, which seems to be very good. however. with evdev, the arrow keys, the window keys, and the multimedia keys are dead. the arrow keys on the numpad work. also, evdev doesn't recognize the german keyboard layout by itself (why is 'us' default? the default should be none or locale!) here's the xorg and the proc output:


Section "InputDevice"
	Identifier  "Keyboard0"
#	Driver      "evdev"
#	Option      "Name" "HID 046a:0023"
	Driver      "kbd"
	Option      "XkbModel"  "pc105"
	Option      "XkbLayout" "de"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
#	Driver "mouse"
#	Option "Device" "/dev/psaux"
	Driver      "evdev"
	Option      "Name"   "HID 04d9:0461"
EndSection


I: Bus=0003 Vendor=04d9 Product=0461 Version=0110
N: Name="HID 04d9:0461"
P: Phys=usb-0000:00:10.0-1/input0
S: Sysfs=/devices/pci0000:00/0000:00:10.0/usb5/5-1/5-1:1.0/input/input3
U: Uniq=
H: Handlers=mouse0 event3 
B: EV=7
B: KEY=1f0000 0 0 0 0 0 0 0 0
B: REL=103

I: Bus=0003 Vendor=046a Product=0023 Version=0111
N: Name="HID 046a:0023"
P: Phys=usb-0000:00:10.0-2/input0
S: Sysfs=/devices/pci0000:00/0000:00:10.0/usb5/5-2/5-2:1.0/input/input4
U: Uniq=
H: Handlers=kbd event4 
B: EV=120003
B: KEY=7 ff800000 7ff e0b2ffdf 1cfffff ffffffff fffffffe
B: LED=1f

I: Bus=0003 Vendor=046a Product=0023 Version=0111
N: Name="HID 046a:0023"
P: Phys=usb-0000:00:10.0-2/input1
S: Sysfs=/devices/pci0000:00/0000:00:10.0/usb5/5-2/5-2:1.1/input/input5
U: Uniq=
H: Handlers=kbd event5 
B: EV=f
B: KEY=7fff ac3027 bf004444 0 0 1 f80 8a37c400 667bfa d971dfed 9e0000 0 0 0
B: REL=40
B: ABS=1 0
Comment 1 Peter Hutterer 2007-11-01 19:06:12 UTC
*** Bug 13050 has been marked as a duplicate of this bug. ***
Comment 2 Peter Hutterer 2007-11-01 19:06:52 UTC
*** Bug 13039 has been marked as a duplicate of this bug. ***
Comment 3 Peter Hutterer 2007-11-01 19:07:26 UTC
*** Bug 13042 has been marked as a duplicate of this bug. ***
Comment 4 Peter Hutterer 2007-11-01 19:08:33 UTC
*** Bug 13046 has been marked as a duplicate of this bug. ***
Comment 5 Peter Hutterer 2007-11-01 19:09:13 UTC
*** Bug 13047 has been marked as a duplicate of this bug. ***
Comment 6 Michel Dänzer 2007-11-02 01:43:00 UTC
I think the evdev driver requires XkbModel "evdev".
Comment 7 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2007-11-02 07:02:17 UTC
please excuse the duplicates. i think they were caused by the page that showed the summary to my request. i kept it open and reloaded it several times to see if someone has answered. i find this behaviour of bugzilla quite weird. the results-page should not keep any of the previous POST-information in the back. sorry again.

i tried the XkbModel line but without changes
Comment 8 Daniel Stone 2007-11-02 08:03:26 UTC
That's because your desktop environment is overriding your settings.  Change the model in the preferences to 'Evdev-managed keyboard'.  Also, US is the default because there is no 'none'.  Either you pick a given locale's keyboard (of which US is the most widely used), or you have no keyboard whatsoever, and pressing on any key results in nothing happening.
Comment 9 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2007-11-02 11:55:11 UTC
are you talking about KDE? i'm using XFCE, and there is no such option.

also, you got me wrong. i was talking about how xorg 'should' behave to provide a native feeling (i'm not in the U.S.A. and am really not interested in it's widely used profiles at all--that is just of no use to me. and, the most widely used profile isn't automatically the most used profile (if the assumption is correct at all). in the specific case, this is not of any interest. choosing a fix setting as a default, instead of respecting the system's locale settings if the xorg setting is 'none' [not set to a fix value yet], is generally a break with the user's preferences and expectancies about how his apps behave on his system--even if a fix default setting was accidentially useful.)

Btw.: you shouldn't use the imperative so generously. many thanks.
Comment 10 Peter Hutterer 2007-11-05 18:01:11 UTC
(In reply to comment #7)
> please excuse the duplicates. i think they were caused by the page that showed
> the summary to my request. i kept it open and reloaded it several times to see
> if someone has answered.

just add yourself to the CC list on the bugs you want to hear about. saves you reloading the pages. 
(yes, fixing bugzilla is an option but in the meantime...)

Comment 11 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-01-07 18:06:13 UTC
I installed evdev 1.2 and now even the mouse doesn't work anymore.
Comment 12 Peter Hutterer 2008-01-07 18:32:03 UTC
(In reply to comment #11)
> I installed evdev 1.2 and now even the mouse doesn't work anymore.

evdev 1.2 does not support the "Name" option. you have to specify the device directly. 
or, if you're running 1.4 just let the server find it.
Comment 13 Peter Hutterer 2008-01-07 18:45:19 UTC
(In reply to comment #9)
> also, you got me wrong. i was talking about how xorg 'should' behave to provide
> a native feeling

the x server gets the keyboard layout from HAL at hot-plug time. the most likely offender is x11-input.fdi, to be found in xserver/config (or /etc/hal/fdi/policy/ after installation). 
so the best way to fix this problem is to make hal to submit the layout matching the local. 

Patches welcome of course :)
Comment 14 Sérgio M. Basto 2008-01-07 19:43:02 UTC
well my problem is: on server 1.4.x , if I install evdev correctly, evdev loads automatically, which make kdb and mouse drives obsoletes and the xorg.conf configuration drives should change. 

In my case , when I had (on xorg.conf) drive kbd with layout pt and "XkbModel"  "pc105" which loads first of evedev, after that, evedev loads and reload keyboard with layout us.
The setting model by kbd in first place, is the problem here.
Or not have evdev keyboard layout config.  

so IMHO if evdev loads, automatically without changing old xorg.conf cause problems, and or should not load if at least kdb and mouse had load before or should warning that kdb and mouse are deprecated and should be change to evdev or if this is not possible, the module shouldn't if it is not on #Section "Module"
Comment 15 Sérgio M. Basto 2008-01-07 19:45:49 UTC
... the module evdev shouldn't load if it is not on #Section "Module"

Comment 16 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-01-07 19:53:05 UTC
> the most likely offender is x11-input.fdi

There is no such file on my system.

> evdev 1.2 does not support the "Name" option. you have to specify the device
> directly. or, if you're running 1.4 just let the server find it.

The man page still lists the "Name" option. I tried the following config with 1.4.0.90 but neither the mouse nor the keyboard worked:

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "evdev"
	Option      "XkbModel"  "evdev"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "evdev"
EndSection

Can somebody please write me a config to try out, double please?
Comment 17 Peter Hutterer 2008-01-07 19:55:05 UTC
(In reply to comment #15)
> ... the module evdev shouldn't load if it is not on #Section "Module"
> 

Add "Option" "AutoAddDevices" "False" to your ServerLayout. This will stop
evdev from loading. 
It's not the silver bullet since you lose input-hotplug, but it might help in
your specific case.
Comment 18 Peter Hutterer 2008-01-08 14:40:22 UTC
(In reply to comment #16)
> > the most likely offender is x11-input.fdi 
> There is no such file on my system.

hmm. interesting. did you have libhal-dev installed when you ran configure? if not, hal support won't be compiled in and the above file won't get installed.
 
> The man page still lists the "Name" option. 

i know. the code for it doesn't exist anymore though.

 
> Section "InputDevice"
>         Identifier  "Keyboard0"
>         Driver      "evdev"
>         Option      "XkbModel"  "evdev"
> EndSection
> 
> Section "InputDevice"
>         Identifier  "Mouse0"
>         Driver      "evdev"
> EndSection
> 
> Can somebody please write me a config to try out, double please?

Section "InputDevice"
  Identifier "kbd"
  Driver "evdev"
  Option "Device" "/dev/input/event0"
  Option "XkbModel" "evdev"
  Option "XkbLayout" "de"
  Option "XkbRules" "evdev"
EndSection


that should do the job IIRC


Comment 19 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-01-09 15:35:16 UTC
(In reply to comment #18)
> (In reply to comment #16)
> > > the most likely offender is x11-input.fdi 
> > There is no such file on my system.

found it in the policy directory of /usr/share/hal

> Section "InputDevice"
>   Identifier "kbd"
>   Driver "evdev"
>   Option "Device" "/dev/input/event0"
>   Option "XkbModel" "evdev"
>   Option "XkbLayout" "de"
>   Option "XkbRules" "evdev"
> EndSection
> 
> 
> that should do the job IIRC
> 

with this settings--also when trying a different eventX number--X crashes silently
Comment 20 Peter Hutterer 2008-01-09 16:21:18 UTC
(In reply to comment #19)
> with this settings--also when trying a different eventX number--X crashes
> silently

ouch. anything in the log files? can you install a server with debug symbols?

Comment 21 Peter Hutterer 2008-02-28 19:25:12 UTC
ping?
Comment 22 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-02-29 07:46:05 UTC
i have a serious problem with my crashing hal. the developer is still quite clueless. but i think that i should first solve this problem before i go on testing evdev since you said that evdev relies on hal.
Comment 23 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-03-14 22:44:31 UTC
hald is running again. however, there is no change. when i try your recommended configuration, the login manager (slim) doesn't even start. there's no warning or whatever to evdev in the logfile. the module gets loaded and that's it.
Comment 24 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-03-14 22:51:59 UTC
however, there's some problem between xorg and dbus, which may be related to this:

[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.Access
Denied (Connection ":1.11" is not allowed to own the service "org.x.config.displ
ay0" due to security policies in the configuration file)
Comment 25 Daniel Stone 2008-03-15 01:40:14 UTC
On Fri, Mar 14, 2008 at 10:52:03PM -0700, bugzilla-daemon@freedesktop.org wrote:
> however, there's some problem between xorg and dbus, which may be related to
> this:
> 
> [config/dbus] couldn't take over org.x.config:
> org.freedesktop.DBus.Error.Access
> Denied (Connection ":1.11" is not allowed to own the service
> "org.x.config.displ
> ay0" due to security policies in the configuration file)

That's just the D-Bus configuration API, not HAL, so don't worry.
Comment 26 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-03-15 08:29:15 UTC
Created attachment 15143 [details]
got a debug xorg-server running

I got a debug X running with the following config:

Section "InputDevice"
  Identifier "keyboard0"
  Driver "evdev"
  Option "Device" "/dev/input/event4"
  Option "XkbModel" "evdev"
  Option "XkbRules" "evdev"
  Option "XkbLayout" "de"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "evdev"
	Option      "Name"   "HID 04d9:0461"
EndSection

However, the keyboard was switched to us-layout though my system defaults to german layout, and many AltGr combinations, like the EURO symbol on key E, and shortkeys, like ALT-TAB or CTRL-ALT-BACKSPACE, did not work. This was especially frustrating because the mouse cursor did not move at all. The positive is that I got a debug server running. The logfile is quite noisy. Hope you understand it all...

Btw.: Why can't X find the XKB keymaps? I installed xkbdata, or do I miss something?
Comment 27 Daniel Stone 2008-03-15 08:48:04 UTC
On Sat, Mar 15, 2008 at 08:29:16AM -0700, bugzilla-daemon@freedesktop.org wrote:
>   Option "XkbRules" "evdev"

This should be 'base', not 'evdev'.  This would be it couldn't compile
your keymap ...
Comment 28 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-03-15 18:29:30 UTC
this didn't change anything. is there something more to read about nationalization because of new packages, places or some hard entries in some scripts or so?
Comment 29 Peter Hutterer 2008-04-23 22:28:01 UTC
(In reply to comment #28)
> this didn't change anything. is there something more to read about
> nationalization because of new packages, places or some hard entries in some
> scripts or so?
> 

tbh, I'm losing track of what the actual problem is. Is it still the lack of arrow keys?


Reading through the log file I noticed "(EE) Mouse0: cannot open input pEvdev". Are you running evdev 1.1X? If so, please update to version 1.2, if not git master.
Comment 30 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-04-26 11:41:20 UTC
I just lost track of what could be the culprit because one keyboard worked half and the other not at all, etc. Still both, my cherry keyboard and my perixx mouse, don't want to work at all with evdev (I'm using only latest individual packages, like xf86-input-evdev-1.2.0):

Mouse with evdev:

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "evdev"
	Option      "Name"   "HID 04d9:0461"
EndSection

(**) Option "CorePointer"
(**) Mouse0: always reports core events
(EE) Mouse0: cannot open input pEvdev
(II) UnloadModule: "evdev"
(EE) PreInit returned NULL for "Mouse0"



Mouse without evdev:

Section "InputDevice"
	Identifier  "Mouse0"
	Driver "mouse"
	Option "Device" "/dev/psaux"
EndSection

(**) Mouse0: Device: "/dev/psaux"
(==) Mouse0: Protocol: "Auto"
(**) Option "CorePointer"
(**) Mouse0: always reports core events
(**) Option "Device" "/dev/psaux"
(==) Mouse0: Emulate3Buttons, Emulate3Timeout: 50
(**) Mouse0: ZAxisMapping: buttons 4 and 5
(**) Mouse0: Buttons: 9
(**) Mouse0: Sensitivity: 1



Keyboard with evdev:

Section "InputDevice"
 Identifier "keyboard0"
  Driver "evdev"
  Option "Device" "/dev/input/event4"
  Option "XkbModel" "evdev"
  Option "XkbRules" "base"
  Option "XkbLayout" "de"
EndSection

(**) Option "CoreKeyboard"
(**) keyboard0: always reports core events
(EE) keyboard0: cannot open input pEvdev
(II) UnloadModule: "evdev"
(EE) PreInit returned NULL for "keyboard0"



Keyboard without evdev:

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "kbd"
	Option      "XkbModel"  "pc105"
	Option      "XkbLayout" "de"
EndSection

(**) Option "CoreKeyboard"
(**) Keyboard0: always reports core events
(**) Option "Protocol" "standard"
(**) Keyboard0: Protocol: standard
(**) Option "AutoRepeat" "500 30"
(**) Option "XkbRules" "xorg"
(**) Keyboard0: XkbRules: "xorg"
(**) Option "XkbModel" "pc105"
(**) Keyboard0: XkbModel: "pc105"
(**) Option "XkbLayout" "de"
(**) Keyboard0: XkbLayout: "de"
(**) Option "CustomKeycodes" "off"
(**) Keyboard0: CustomKeycodes disabled
(II) evaluating device (Keyboard0)
(II) XINPUT: Adding extended input device "Keyboard0" (type: KEYBOARD)



Interestingly, as I restarted xorg after testing with evdev and keyboard, I first got a black screen with lots of characters in line at the top, which looked like what I've typed in blindly the last run of xorg. This could mean that the keyboard was working but the events didn't make it through somehow? This phenomenon was repeatable.



Btw.: what's missing here? I've installed xkbdata and xkbcomp:

(WW) Couldn't load XKB keymap, falling back to pre-XKB keymap
Comment 31 Peter Hutterer 2008-04-30 23:49:43 UTC
(In reply to comment #30)
> I just lost track of what could be the culprit because one keyboard worked half
> and the other not at all, etc. Still both, my cherry keyboard and my perixx
> mouse, don't want to work at all with evdev (I'm using only latest individual
> packages, like xf86-input-evdev-1.2.0):
> 
> Mouse with evdev:
> 
> Section "InputDevice"
>         Identifier  "Mouse0"
>         Driver      "evdev"
>         Option      "Name"   "HID 04d9:0461"
> EndSection

evdev 1.2.0 doesn't take Name, you have to specify Device /dev/input/eventXXX
 
 
> Keyboard with evdev:
> 
> Section "InputDevice"
>  Identifier "keyboard0"
>   Driver "evdev"
>   Option "Device" "/dev/input/event4"
>   Option "XkbModel" "evdev"
>   Option "XkbRules" "base"
>   Option "XkbLayout" "de"
> EndSection
> 
> (**) Option "CoreKeyboard"
> (**) keyboard0: always reports core events
> (EE) keyboard0: cannot open input pEvdev
> (II) UnloadModule: "evdev"
> (EE) PreInit returned NULL for "keyboard0"

not sure here. only thing I could think of is /dev/input/event4 being the wrong device? Even if so, evdev should recognize it.
Comment 32 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-05-01 10:31:23 UTC
I got the mouse running but am wholly confused now. Are you really sure that evdev makes life easier? The problem on my system is that the paths to the event nodes aren't existing though the events are listed in proc. In case of the mouse, event3 worked because it was there. However, event4 and event5, which are both shown as related to the keyboard in proc, aren't existing in /dev/input. I tried the nodes in /dev/input/by-id and /dev/input/by-path but xorg complains about them:

(EE) ioctl EVIOCGBIT 0 failed: Inappropriate ioctl for device

I'd rather like to be able to use the nodes in /dev/input/by-id because they're unique. However, why are there no event4 and event5? There are also mice and mouse0 but no keyboard0 or similar. Is this a udev-related problem?

Update: I checked my old system, which runs an older version of udev. There are event4 and event5 but evdev doesn't work too. There's no by-id directory.

what the ... ????????

Comment 33 Peter Hutterer 2008-05-01 16:35:17 UTC
(In reply to comment #32)
> I got the mouse running but am wholly confused now. Are you really sure that
> evdev makes life easier? The problem on my system is that the paths to the
> event nodes aren't existing though the events are listed in proc. In case of
> the mouse, event3 worked because it was there. However, event4 and event5,
> which are both shown as related to the keyboard in proc, aren't existing in
> /dev/input. 

they may not be created automatically. an 
mknod event4 c major, minor 
should fix this. major has to be the same as the other event devices, minor is the next one in the sequence. repeat this for event5 as well.


> I tried the nodes in /dev/input/by-id and /dev/input/by-path but
> xorg complains about them:
> 
> (EE) ioctl EVIOCGBIT 0 failed: Inappropriate ioctl for device

if you ls -l /dev/input/by-id, you'll see that some links point to the mouseX nodes. Make sure that the nodes you specify are the ones that point to a eventX node, otherwise the evdev-specific ioctls will fail.


> 
> I'd rather like to be able to use the nodes in /dev/input/by-id because they're
> unique. However, why are there no event4 and event5? There are also mice and
> mouse0 but no keyboard0 or similar. Is this a udev-related problem?

IIRC the eventX nodes are created by the kernel evdev module. the mouseX nodes  by the mousedev module. keyboardX doesn't exist because of - well historical reasons. /dev/input/by-id is created by udev.
Comment 34 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-05-03 16:38:20 UTC
It was an udev problem. The keyboard is detected by evdev now. However, the server seems to have chosen the U.S layout. Arrow keys and other keys don't work at all or seem to be misconfigured. The weird thing is that this now happens even when I turn back to the KBD configuration. The server just seems to ignore my settings now. The Xorg.0.log seems to be from hell. There's unbelievable noise from hal in it, and I don't get through. Will disable the event device again, I think!
Comment 35 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-05-03 16:39:06 UTC
Created attachment 16335 [details]
the xorg log
Comment 36 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-05-03 16:53:10 UTC
Yes, xorg first takes my settings but then checks via hal and overwrites the layout settings with "us". It also recognizes the infrared device of my DVB-T card as a keyboard and sets the layout to "us" ;)
Comment 37 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-05-03 16:57:51 UTC
I think, the lines like:

FlushingSerial
WritingSerial: 0xff
ReadingSerial: 0xfa

are related to what I already wrote:

> Interestingly, as I restarted xorg after testing with evdev and keyboard, I
> first got a black screen with lots of characters in line at the top, which
> looked like what I've typed in blindly the last run of xorg. This could mean
> that the keyboard was working but the events didn't make it through somehow?
> This phenomenon was repeatable.
Comment 38 Peter Hutterer 2008-05-03 21:43:11 UTC
(In reply to comment #34)
> It was an udev problem. The keyboard is detected by evdev now. However, the
> server seems to have chosen the U.S layout. 

this is a hal setup issue. the server simply takes what hal tells it to. the matching file is /etc/hal/fdi/policy/x11-input.fdi, you can switch it to "de" there.


> Arrow keys and other keys don't work at all or seem to be misconfigured. 

this happens to me when gnome overwrites the x keyboard settings. does xfce do something similar? on one of my computers I actually had to remove the settings with gconf-editor and unset everything, for some reason merely setting it in the gnome dialog to evdev-managed-keyboard wasn't enough. 

In your case, could it be a stale configuration file from xfce overwrites the settings?

(In reply to comment #36)
> Yes, xorg first takes my settings but then checks via hal and overwrites the
> layout settings with "us". It also recognizes the infrared device of my DVB-T
> card as a keyboard and sets the layout to "us" ;)

blame the kernel evdev module for that. my mouse also appears as keyboard (and pointer).

Comment 39 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-05-04 05:48:36 UTC
I can't live with this answers because they draw the fatal conclusion to obey to whatever comes via hal instead of following the explicit choice of the admin. This is incapaciation! Especially in the case where evdev just kicks off kbd to ignore the admin's wish in full. What's the file xorg.conf for? Is it only a fragment anymore? Now I'm in the same situation Sergio is already in and can only do:

"Option" "AutoAddDevices" "False"

On my system there's the file:

/usr/share/hal/fdi/policy/10osvendor/10-x11-input.fdi

It's content doesn't show up any layout settings:

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <!-- FIXME: Support tablets too. -->
    <match key="info.capabilities" contains="input.mouse">
      <merge key="input.x11_driver" type="string">mouse</merge>
      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
             string="Linux">
        <merge key="input.x11_driver" type="string">evdev</merge>
      </match>
    </match>

    <match key="info.capabilities" contains="input.keys">
      <!-- If we're using Linux, we use evdev by default (falling back to
           keyboard otherwise). -->
      <merge key="input.x11_driver" type="string">keyboard</merge>
      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
             string="Linux">
        <merge key="input.x11_driver" type="string">evdev</merge>
      </match>
    </match>
  </device>
</deviceinfo>

What's the next step here? I slowly loose condition. Seems that you've decided to make mandatory what is only half-baken and can only be known and configured by developers or involved parties. This is a real backstep to free source.
Comment 40 Peter Hutterer 2008-05-04 17:13:07 UTC
(In reply to comment #39)
> I can't live with this answers because they draw the fatal conclusion to obey
> to whatever comes via hal instead of following the explicit choice of the
> admin. This is incapaciation! Especially in the case where evdev just kicks off
> kbd to ignore the admin's wish in full. What's the file xorg.conf for? Is it
> only a fragment anymore? Now I'm in the same situation Sergio is already in and
> can only do:
> 
> "Option" "AutoAddDevices" "False"

we know of this issue, but our time is limited and we rely on others to prepare patches. the problem is simply that the evdev driver through the use of EVIOCGRAB removes the device from the normal keyboard/mouse. if you auto-add all devices through evdev (which is what the current hotplug code does), no physical device feeds into kbd anymore. It's still there, with all your configuration, but it never sends events.

The only way to avoid that is to stop evdev from adding keyboards.


> On my system there's the file:
> 
> /usr/share/hal/fdi/policy/10osvendor/10-x11-input.fdi
> 
> It's content doesn't show up any layout settings:

[snip]

Have a look at the following:
http://cgit.freedesktop.org/xorg/xserver/tree/config/x11-input.fdi

this is the current fdi file in git master, it shows the keys you can pass in. In your case, it is XkbLayout I guess.
This is your _only_ choice at the moment, other than disabling hotplug. sorry.

 
> What's the next step here? I slowly loose condition. Seems that you've decided
> to make mandatory what is only half-baken and can only be known and configured
> by developers or involved parties. This is a real backstep to free source.

we already know that, and we realise that it was released a bit prematurely. as of yet, there isn't much we can do other than bugfixing, but even there our time is limited.
 

Comment 41 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-05-05 07:48:12 UTC
I tried the fdi file and changed "us" to "de". I still get a us-keyboard layout. I installed xfce-xkb-switcher but it only shows "us" and "en_US" in the selection of available languages. I think, we stop here and wait until some of the master thinkers get aware that their path is guiding nowhere.
Comment 42 Peter Hutterer 2008-05-06 20:15:41 UTC
This sure was a nasty one to find.

The current x11-input.fdi states that the key to be used are input.x11_options.XkbLayout. but changing this to "de" doesn't work.

Turns out that HAL (on FC8 anyway) still sends the now deprecated "input.xkb_layout" key, and this defaults to "us". not sure where this can be changed, but I presume somewhere in hal.
you can test this by running hal-device and then searching for the keyboard and the values.

In the HAL option list, XkbLayout comes before xkb_layout. The way how options are added in the server, xkb_layout comes first in the linked list.

Evdev checks for "xkb_layout" first, and only if that fails for "XkbLayout". This can and should be changed, but doesn't have any effect.

When evdev checks for "XkbLayout", the server semantics for parsing config options result in "xkb_layout" and "XkbLayout" being the same (underscores and capitals are ignored). Thus the first entry that matches is returned, which is the "xkb_layout" entry.

Evdev thus initialises the keyboard with layout "us". Yay, we lose.


Dennis, Sergio:

Add this to your x11-input.fdi to get the correct layout. 
 <merge key="input.xkb.layout" type="string">de</merge>

This works for me (on the mpx branch, but that is close enough to git master that it shouldn't matter)
Comment 43 Peter Hutterer 2008-05-06 20:16:09 UTC
This sure was a nasty one to find.

The current x11-input.fdi states that the key to be used are input.x11_options.XkbLayout. but changing this to "de" doesn't work.

Turns out that HAL (on FC8 anyway) still sends the now deprecated "input.xkb_layout" key, and this defaults to "us". not sure where this can be changed, but I presume somewhere in hal.
you can test this by running hal-device and then searching for the keyboard and the values.

In the HAL option list, XkbLayout comes before xkb_layout. The way how options are added in the server, xkb_layout comes first in the linked list.

Evdev checks for "xkb_layout" first, and only if that fails for "XkbLayout". This can and should be changed, but doesn't have any effect.

When evdev checks for "XkbLayout", the server semantics for parsing config options result in "xkb_layout" and "XkbLayout" being the same (underscores and capitals are ignored). Thus the first entry that matches is returned, which is the "xkb_layout" entry.

Evdev thus initialises the keyboard with layout "us". Yay, we lose.


Dennis, Sergio:

Add this to your x11-input.fdi to get the correct layout. 
 <merge key="input.xkb.layout" type="string">de</merge>

This works for me (on the mpx branch, but that is close enough to git master that it shouldn't matter)
Comment 44 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-05-06 20:44:29 UTC
It even works with 1.4.0.90. However, the special keys (AltGr, PageUP, Arrow keys, etc.) still behave weird. AltGr is enter. PageDown opens the context menu. PageUP gives me a slash. The arrow keys are dead. Del doesn't work, etc. Xfce doesn't offer any special settings and seems to stay neutral here. At least, I don't know what to do next. Will still drop evdev for now...
Comment 45 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-05-06 20:58:21 UTC
There's something more...

The mouse cursor first appears at the center of the screen for a second but then jumps to top-center. It works afterwards, but???

The xorg.log is full of weird stuff. For example, event4 belongs to the keyboard, and event5 to, well, the keyboard (multimedia keys??). However, xorg recognizes this device as a keyboard but checks for a pointer and:

(II) HID 046a:0023: Found 1 mouse buttons
(II) HID 046a:0023: Configured 18 mouse buttons.

I don't understand a word in the xorg.log anymore. There's lots of more strange stuff like that the EDID-block is, first, not readable but, some lines later, printed in hex, etc. If you can read that, ok, I append it...
Comment 46 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-05-06 21:00:59 UTC
Created attachment 16402 [details]
the next xorg.log
Comment 47 Peter Hutterer 2008-05-06 22:58:55 UTC
(In reply to comment #45)
> There's something more...
> 
> The mouse cursor first appears at the center of the screen for a second but
> then jumps to top-center. It works afterwards, but???

if you look at the log for HID 04d9:0461, it configures it as relative, then overwrites it as absolute. I recently pushed a patch to evdev git master to avoid this.
This probably causes the jump, where the first event containing something like 0/1 is interpreted as absolute coordinates.

> The xorg.log is full of weird stuff. For example, event4 belongs to the
> keyboard, and event5 to, well, the keyboard (multimedia keys??). 

that's a kernel issue. I have a similar problem, where the multimedia keys of the keyboard are sent through the kernel device of the mouse.  

> However, xorg recognizes this device as a keyboard but checks for a pointer and:
> 
> (II) HID 046a:0023: Found 1 mouse buttons
> (II) HID 046a:0023: Configured 18 mouse buttons.

This may be evdev 1.2 getting a bit too excited. Most of that stuff has been removed from evdev 2.0, it caused more problems than it fixed.

> I don't understand a word in the xorg.log anymore. There's lots of more strange
> stuff like that the EDID-block is, first, not readable but, some lines later,
> printed in hex, etc. If you can read that, ok, I append it...

EDID is monitor data and irrelevant for this bug. Most of the other stuff is irrelevant as well, for us the interesting bits start when the HID messages come along (after all the AIGLX messages)


(In reply to comment #44)
> It even works with 1.4.0.90. 

cool. I found the problem in the server (parsing of arguments that were claimed as deprecated). So this part will be fixed in git master tomorrow or so, I just need to cherry-pick and test it.

> However, the special keys (AltGr, PageUP, Arrow
> keys, etc.) still behave weird. AltGr is enter. PageDown opens the context
> menu. PageUP gives me a slash. The arrow keys are dead. Del doesn't work, etc.
> Xfce doesn't offer any special settings and seems to stay neutral here. At
> least, I don't know what to do next. Will still drop evdev for now...

this means that the keymap is busted and I haven't found a reliable way to figure out why and how that happens. e.g. in my GNOME sometimes UP results in a print-screen command, DOWN is enter, etc. I can fix it by unsetting everything in gconf-editor, but since you use xfce this doesn't apply to you. sorry, I don't know what to do from here.

daniels: any hints?
Comment 48 Daniel Stone 2008-05-07 01:33:32 UTC
(In reply to comment #42)
> The current x11-input.fdi states that the key to be used are
> input.x11_options.XkbLayout. but changing this to "de" doesn't work.
> 
> Turns out that HAL (on FC8 anyway) still sends the now deprecated
> "input.xkb_layout" key, and this defaults to "us". not sure where this can be
> changed, but I presume somewhere in hal.
> you can test this by running hal-device and then searching for the keyboard and
> the values.
> 
> In the HAL option list, XkbLayout comes before xkb_layout. The way how options
> are added in the server, xkb_layout comes first in the linked list.
> 
> Evdev checks for "xkb_layout" first, and only if that fails for "XkbLayout".
> This can and should be changed, but doesn't have any effect.
> 
> When evdev checks for "XkbLayout", the server semantics for parsing config
> options result in "xkb_layout" and "XkbLayout" being the same (underscores and
> capitals are ignored). Thus the first entry that matches is returned, which is
> the "xkb_layout" entry.

I'm really not sold on the change here.  Reason being that input.xkb.* is in the HAL spec, and the reason it was explicitly done outside input.x11_options is because projects like cxkb exist to have the same layout in the console as in X, and I'd definitely like to have unified console/X keyboard layouts.  So can we please keep special-casing those five options to this end?
Comment 49 Daniel Stone 2008-05-07 01:44:02 UTC
On Tue, May 06, 2008 at 10:58:57PM -0700, bugzilla-daemon@freedesktop.org wrote:
> --- Comment #47 from Peter Hutterer <peter@cs.unisa.edu.au>  2008-05-06 22:58:55 PST ---
> (In reply to comment #45)
> > However, the special keys (AltGr, PageUP, Arrow
> > keys, etc.) still behave weird. AltGr is enter. PageDown opens the context
> > menu. PageUP gives me a slash. The arrow keys are dead. Del doesn't work, etc.
> > Xfce doesn't offer any special settings and seems to stay neutral here. At
> > least, I don't know what to do next. Will still drop evdev for now...
> 
> this means that the keymap is busted and I haven't found a reliable way to
> figure out why and how that happens. e.g. in my GNOME sometimes UP results in a
> print-screen command, DOWN is enter, etc. I can fix it by unsetting everything
> in gconf-editor, but since you use xfce this doesn't apply to you. sorry, I
> don't know what to do from here.

The problem you're seeing with GNOME is that once it's established a
grab, it'll store both the keycode and the keysym, and give the keycode
absolute precedence over the keysym, and refuse to rescan the map and
reassociate keysym -> keycode.  Sigh.
Comment 50 Peter Hutterer 2008-05-07 18:41:58 UTC
Created attachment 16423 [details] [review]
0001-config-deprecate-and-ignore-the-use-of-input.xkb.patch

This is the patch I put into mpx for the time being.

It removes some code marked as deprecated and stops the server from interpreting the input.xkb.whatever commands.
Comment 51 Daniel Stone 2008-05-07 19:30:43 UTC
On Wed, May 07, 2008 at 06:42:03PM -0700, bugzilla-daemon@freedesktop.org wrote:
> Created an attachment (id=16423)
>  --> (http://bugs.freedesktop.org/attachment.cgi?id=16423)
> 0001-config-deprecate-and-ignore-the-use-of-input.xkb.patch
> 
> This is the patch I put into mpx for the time being.
> 
> It removes some code marked as deprecated and stops the server from
> interpreting the input.xkb.whatever commands.

Hrm, I'd prefer to have input.xkb.{m,l,v,o} be the primary keys, and
have input.x11_options be a backup for that, rather than the former
being deprecated, for the reasons I listed earlier ...
Comment 52 Peter Hutterer 2008-05-07 19:35:44 UTC
(In reply to comment #51)
> On Wed, May 07, 2008 at 06:42:03PM -0700, bugzilla-daemon@freedesktop.org
> wrote:
> > Created an attachment (id=16423) [details]
> >  --> (http://bugs.freedesktop.org/attachment.cgi?id=16423)
> > 0001-config-deprecate-and-ignore-the-use-of-input.xkb.patch
> > 
> > This is the patch I put into mpx for the time being.
> > 
> > It removes some code marked as deprecated and stops the server from
> > interpreting the input.xkb.whatever commands.
> 
> Hrm, I'd prefer to have input.xkb.{m,l,v,o} be the primary keys, and
> have input.x11_options be a backup for that, rather than the former
> being deprecated, for the reasons I listed earlier ...

Ah. Now I get your previous comment. I'll revert and put a different patch in.
Comment 53 Peter Hutterer 2008-05-08 01:41:37 UTC
Created attachment 16425 [details] [review]
0003-config-override-xkb_-r-m-l-v-with-Xkb-r-m-l-v-if.patch

Next version. Parsing through all option, not adding xkb_ options but tucking them aside for the time being, if necessary overriding them with Xkb options.

After all options were parsed, the xkb options are added manually.
Not pretty, but it works.
Comment 54 Peter Hutterer 2008-05-08 19:16:32 UTC
pushed as ff013b0da4e6d33b2b69ce1212e9bd62050574e1
Comment 55 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-05-08 20:36:34 UTC
did not use git yet and have to ask here. i got the xserver branch with "git clone" and tried to start autogen.sh. this breaks because of undefined constants like XTRANS_CONNECTION_FLAGS. do i first have to do something?
Comment 56 Peter Hutterer 2008-05-08 23:22:18 UTC
On Thu, May 08, 2008 at 08:36:34PM -0700, bugzilla-daemon@freedesktop.org wrote:
> did not use git yet and have to ask here. i got the xserver branch with "git
> clone" and tried to start autogen.sh. this breaks because of undefined
> constants like XTRANS_CONNECTION_FLAGS. do i first have to do something?

yeah, you'd need to install xorg-macros. Either through the package system or
by git clone git://anongit.freedesktop.org/git/xorg/util/macros and installing
this package.

are you building the whole server or just the driver? If you're building the
whole server, I recommend reading http://wiki.x.org/wiki/Development/git
Comment 57 Peter Hutterer 2008-06-12 01:15:03 UTC
Dennis, can you give us an update on this bug please? Did you ever manage to
compile the server?
Comment 58 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-06-13 18:58:35 UTC
wasn't in reach for some time. i installed evdev 1.99.4 and xorg-server-1.4.2 today--which seems to be the successor of 1.4.99.x ???

things work like always. seems that the server still ships with the old/original fdi-file. configuring it doesn't help, as always. did your patch make it in?


Comment 59 Sérgio M. Basto 2008-06-13 20:19:00 UTC
(In reply to comment #58)
> wasn't in reach for some time. i installed evdev 1.99.4 and xorg-server-1.4.2
> today--which seems to be the successor of 1.4.99.x ???
no , 1.4.99.x is pre 1.5, 1.4.2 is the bug fix of 1.4, xserver 1.5 is Xorg 7.4 when xserver 1.4.2 is Xorg 7.3.1 
Comment 60 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-06-14 08:32:20 UTC
i tried to install xorg-server 1.4.99.902 but ran into massive problems with dri2 and glx not working with current mesa. i wasn't able to deconfigure the problematic parts. if it doesn't crash here, it crashes there... i think i'll wait for the next release of mesa, which shall be out 'really' soon.

btw., with 1.4.2 it seems that even xkb now busts the keymap. at least some keys like PgUp and PgDn don't work as expected. looking into the xorg.log, evdev is not touching the keyboard config (i deleted the event node in /dev).
Comment 61 Peter Hutterer 2008-06-17 04:20:41 UTC
> --- Comment #60 from Dennis Heuer <dh@triple-media.com>  2008-06-14 08:32:20 PST ---
> i tried to install xorg-server 1.4.99.902 but ran into massive problems with
> dri2 and glx not working with current mesa. i wasn't able to deconfigure the
> problematic parts. if it doesn't crash here, it crashes there... i think i'll
> wait for the next release of mesa, which shall be out 'really' soon.

--disable-dri --disable-dri2 --disable-glx in the server avoids the problem.
You won't get glx, but at least you can build the server.

> btw., with 1.4.2 it seems that even xkb now busts the keymap. at least some
> keys like PgUp and PgDn don't work as expected. looking into the xorg.log,
> evdev is not touching the keyboard config (i deleted the event node in /dev).

Option "AutoAddDevices" False
in the server layout does the same, no need for deleting the event node :)
Comment 62 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-06-17 19:04:19 UTC
(In reply to comment #61)
> > --- Comment #60 from Dennis Heuer <dh@triple-media.com>  2008-06-14 08:32:20 

> --disable-dri --disable-dri2 --disable-glx in the server avoids the problem.
> You won't get glx, but at least you can build the server.

I did that, hrmmm??? However, the server now runs without glx and I can't see a difference. I have a Radeon 9250 and a Sempron 2.8GHz, and compositing just works without difference with or without DRI. Seems that I'd buy some new hardware :(

> Option "AutoAddDevices" False
> in the server layout does the same, no need for deleting the event node :)
> 

Thanks. It was already mentioned above somewhere but I forgot about it :(

Except of that the new install didn't overwrite the old fdi-file automatically, the keyboard now works with german layout--and without missing or misbehaving keys, as I can say so far 8)) and this all without configuration in xorg.conf.

Many thanks
Comment 63 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-06-17 19:21:17 UTC
Arghh, was too fast in making statements. AutoAddDevices was set to false. No, I still get the american layout with evdev, despite configuration in the fdi-file and in xorg.conf. We're at the beginning again :((
Comment 64 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-06-18 20:05:47 UTC
am not in reach for the next eight weeks. you'll have to solve this without testbed. sorry :(
Comment 65 Peter Hutterer 2008-06-28 04:28:47 UTC
> --- Comment #58 from Dennis Heuer <dh@triple-media.com>  2008-06-13 18:58:35 PST ---
> wasn't in reach for some time. i installed evdev 1.99.4 and xorg-server-1.4.2
> today--which seems to be the successor of 1.4.99.x ???
> 
> things work like always. seems that the server still ships with the
> old/original fdi-file. configuring it doesn't help, as always. did your patch
> make it in?

my patches are on git master, haven't tried to get them on 1.4. so you have to
apply them manually.

on another note, please post the output of hal-device, so we can make sure
it's feeding the right keys.
Comment 66 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-09-02 12:51:53 UTC
don't have the time to care about this anymore. lets wait for other people (hal, udev) to wake up and see the light...
Comment 67 Peter Hutterer 2008-10-21 23:59:20 UTC
have you had the chance to run a server 1.5 yet? still the same issues?
Comment 68 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-11-02 11:45:29 UTC
Created attachment 20012 [details]
hal-device output

yes and no. yes, i run xorg-server 1.5.1. no, nothing changed. attached is the hal-device output. is too long for me. will leave analysis to you.
Comment 69 Peter Hutterer 2008-12-18 03:00:44 UTC
Oh dear, this one is still open. 

Please download http://people.freedesktop.org/~whot/evtest.c, compile it with
"gcc -o evtest evtest.c" and then run it as root with "./evtest
/dev/input/eventX" where X is the number for the device. You can get the
number by looking at /proc/bus/input/devices. Then attach the output of evtest
here.

That way we can finally figure out if we're getting the right stuff from the
kernel.
Comment 70 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-12-18 14:30:51 UTC
Created attachment 21284 [details]
the evtest.c output

You're still working on it. Quite a brave man you are. I didn't care anymore. The old drivers work for me. Btw.: Will Xorg make the step to devkit or is that off topic?

The event is event4. The output always stops as it did in the attached file, no matter how long I wait.

Regards,
Dennis
Comment 71 Peter Hutterer 2008-12-19 00:53:08 UTC
> The event is event4. The output always stops as it did in the attached file, no
> matter how long I wait.

keep hitting keys, that should fill up the log.
Comment 72 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-12-19 07:16:51 UTC
Created attachment 21324 [details]
the next evtest.c output

It seemed to do it all itself. However, now I pressed all keys in no other specific order than beginning from the left (some twice??). This should be complete now...
Comment 73 Peter Hutterer 2008-12-20 21:14:25 UTC
right. and which keys exactly don't work now?
what's the xev output for these keys?
(that's assuming a vanilla setup without AutoAddDevices "off")
does it work in the us keyboard layout?
what's the output of xprop -root | grep XKB and the output of setxkbmap
-print?

sorry, but there's so many comments in this bug that I've long lost track. 
Comment 74 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-12-21 01:57:15 UTC
>> sorry, but there's so many comments in this bug that I've long lost track.

Zes, it seems so. There|s onlz one problem with the kezmap, and that is the american lazout, as zou can see. Considering xorg|s choice of the american lazout, xev shows the correct kez values except for the multimedia kezs, which all show this>

KeyPress event, serial 32, synthetic NO, window 0x2200001,
    root 0x89, subw 0x0, time 1136705, (29,113), root:(740,606),
    state 0x0, keycode 171 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

However, the real problem is that evdev doesn|t respect mz locale. And, when I trz to switch the locale with the locale switcher on mz panel, the switcher displazs onlz one single option> @UNKNOWN@

Seems that the desktop is reallz confused about what to choose *I use Xfce 4.4(

Comment 75 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-12-21 02:04:59 UTC
There|s no output for xprop -root | grep XKB
xsetxkbmap -print shows:

Couldn't interpret _XKB_RULES_NAMES property
Use defaults: rules - 'xorg' model - 'pc105' layout - 'us'
xkb_keymap {
        xkb_keycodes  { include "xfree86+aliases(qwerty)"       };
        xkb_types     { include "complete"      };
        xkb_compat    { include "complete"      };
        xkb_symbols   { include "pc/pc(pc105)+pc/us"    };
        xkb_geometry  { include "pc(pc105)"     };
};

Does evdev need some xorg librarz installed, which is not neccessarilz needed for the old drivers to work_
Comment 76 Peter Hutterer 2008-12-21 03:14:44 UTC
> Zes, it seems so. There|s onlz one problem with the kezmap, and that is the
> american lazout, as zou can see. Considering xorg|s choice of the american
> lazout, xev shows the correct kez values except for the multimedia kezs, which
> all show this>

we don't pick a keyboard layout (unless none is provided at all). In most
setups, the keyboard layout is either set in the xorg.conf, or it is set in
the FDI file that HAL uses to inform the X server about the devices available.
Fedora for example pulls the keyboard layout from /etc/sysconfig/keyboard.

> KeyPress event, serial 32, synthetic NO, window 0x2200001,
>     root 0x89, subw 0x0, time 1136705, (29,113), root:(740,606),
>     state 0x0, keycode 171 (keysym 0x0, NoSymbol), same_screen YES,
>     XLookupString gives 0 bytes: 
>     XFilterEvent returns: False

this means that you're not pulling in the inet symbols. which is rather
surprising, considering xkeyboard-config pulls them in for all models. please
try installing xkeyboard-config 1.4, it fixes other issues with evdev.
 
> However, the real problem is that evdev doesn|t respect mz locale. And, when I
> trz to switch the locale with the locale switcher on mz panel, the switcher
> displazs onlz one single option> @UNKNOWN@

evdev doesn't have any business with your locale. as said above, it takes
whatever HAL tells it to.
Comment 77 Daniel Stone 2008-12-21 08:30:47 UTC
On Sun, Dec 21, 2008 at 03:14:44AM -0800, bugzilla-daemon@freedesktop.org wrote:
> --- Comment #76 from Peter Hutterer <peter.hutterer@who-t.net>  2008-12-21 03:14:44 PST ---
> > However, the real problem is that evdev doesn|t respect mz locale. And, when I
> > trz to switch the locale with the locale switcher on mz panel, the switcher
> > displazs onlz one single option> @UNKNOWN@
> 
> evdev doesn't have any business with your locale. as said above, it takes
> whatever HAL tells it to.

Your switcher is broken.  Make sure xkeyboard-config is 1.4 or above,
then run:
setxkbmap -rules base -model evdev -layout de

And happiness should ensue.
Comment 78 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-12-22 07:19:07 UTC
> > > trz to switch the locale with the locale switcher on mz panel, the switcher
> > > displazs onlz one single option> @UNKNOWN@
> > 
> > evdev doesn't have any business with your locale. as said above, it takes
> > whatever HAL tells it to.

Please, zou better start reading from the top of this bug report again because we were through this all alreadz. The fdi file is set to |de|.

> 
> Your switcher is broken.

I doubt that!

>  Make sure xkeyboard-config is 1.4 or above,

Did so. Does it need more or does it conflict with older xkb/installs_

> then run:
> setxkbmap -rules base -model evdev -layout de

I tried the above line, which configures the driver with exactlz the same values as I|ve written in mz xorg.conf file,  but got an error message>

Error loading new keyboard description

In the Xlog, there is>

(EE) Error loading keymap /opt/interface/xorg-7.4/share/X11/xkb/compiled/server-0.xkm

The directorz is emptz

> And happiness should ensue.

not at all!

Please, developers tend to use quite optimistic imperatives. This is in most cases not appropriate. However, thanks for zour help.


Btw.> There are still quite old autoconf macros around. So too in the case of xkezboard/config, for example> I then must edit the configure script manuallz. Possiblz zou can send a call through the xorg developer communitz that some update is outstanding>

checking for intltool >= 0.30... head: `-1' option is obsolete; use `-n 1'
Try `head --help' for more information.
 found
configure: error: Your intltool is too old.  You need intltool 0.30 or later.


Here again we have this problem with the imperatives. There are so manz of them used quite stupidlz out there...

Comment 79 Peter Hutterer 2008-12-23 00:12:24 UTC
(In reply to comment #78)
> >  Make sure xkeyboard-config is 1.4 or above,
> 
> Did so. Does it need more or does it conflict with older xkb/installs_
> 
> > then run:
> > setxkbmap -rules base -model evdev -layout de
> 
> I tried the above line, which configures the driver with exactlz the same
> values as I|ve written in mz xorg.conf file,  but got an error message>
> 
> Error loading new keyboard description
> 
> In the Xlog, there is>
> 
> (EE) Error loading keymap
> /opt/interface/xorg-7.4/share/X11/xkb/compiled/server-0.xkm
> 
> The directorz is emptz

Right. I _think_ this means that the server and xkeyboard-config use different directories or install paths. Did you configure xkeyboard-config with the same prefix as the x server?

> Btw.> There are still quite old autoconf macros around. So too in the case of
> xkezboard/config, for example> I then must edit the configure script manuallz.
> Possiblz zou can send a call through the xorg developer communitz that some
> update is outstanding>

please open a bugreport for this with the bug attached, or (for patches like this even better) send it to xorg@freedesktop.org

Comment 80 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2008-12-23 06:21:58 UTC
> Right. I _think_ this means that the server and xkeyboard-config use different
> directories or install paths. Did you configure xkeyboard-config with the same
> prefix as the x server?

It|s all in the same directorz. I reinstalled it with all compat/options on and also reinstalled xkbcomp, if that is of anz relation to this problem, but the result is the same.
Comment 81 Yan Li 2009-01-19 22:57:59 UTC
Is this bug similar to Bug #19395?
Comment 82 NOT ACTIVE SINCE DECADES, PLEASE DELETE ME 2010-03-30 21:38:10 UTC
i got xorg-server-1.8 with support for udev running and, what shall i say, there is the keyboard and there is the mouse. both work fine for some minutes now. no locale problem at all. ok, i have to set the locale in xorg.conf. the xorg protocol looks quite normal:

[   411.868] (**) Option "CorePointer"
[   411.868] (**) Mouse0: always reports core events
[   411.868] (**) Mouse0: Device: "/dev/input/event2"
[   411.868] (II) Mouse0: Found 3 mouse buttons
[   411.868] (II) Mouse0: Found scroll wheel(s)
[   411.868] (II) Mouse0: Found relative axes
[   411.868] (II) Mouse0: Found x and y relative axes
[   411.868] (II) Mouse0: Found absolute axes
[   411.868] (II) Mouse0: Configuring as mouse
[   411.868] (**) Mouse0: YAxisMapping: buttons 4 and 5
[   411.868] (**) Mouse0: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[   411.868] (II) XINPUT: Adding extended input device "Mouse0" (type: MOUSE)
[   411.868] (II) Mouse0: initialized for relative axes.
[   411.868] (WW) Mouse0: ignoring absolute axes.
[   411.868] (**) Option "CoreKeyboard"
[   411.868] (**) keyboard0: always reports core events
[   411.868] (**) keyboard0: Device: "/dev/input/event3"
[   411.868] (II) keyboard0: Found keys
[   411.868] (II) keyboard0: Configuring as keyboard
[   411.868] (II) XINPUT: Adding extended input device "keyboard0" (type: KEYBOARD)
[   411.868] (**) Option "xkb_rules" "evdev"
[   411.868] (**) Option "xkb_model" "evdev"
[   411.868] (**) Option "xkb_layout" "de"
[  1050.658] (II) Mouse0: Device reopened after 1 attempts.
[  1050.659] (II) keyboard0: Device reopened after 1 attempts.

doom to HAL!

i think we can close this bug now...
Comment 83 Julien Cristau 2010-03-31 01:27:09 UTC
(In reply to comment #82)
> i think we can close this bug now...
> 
great, thanks for the followup.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.