Gentoo Archives: gentoo-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: xorg-x11-6.7.0-r2, XF86Standby: keysym 0x0, NoSymbol
Date: Sat, 24 Jul 2004 02:58:53
Message-Id: pan.2004.07.24.02.58.46.892474@cox.net
In Reply to: [gentoo-dev] Re: xorg-x11-6.7.0-r2, XF86Standby: keysym 0x0, NoSymbol by Duncan <1i5t5.duncan@cox.net>
1 Duncan posted <pan.2004.07.23.07.47.51.730874@×××.net>, excerpted below,
2 on Fri, 23 Jul 2004 00:47:52 -0700:
3
4 > Norberto Bensa, excerpted below0:
5 >
6 >> did anything related to keyboards changed in xorg-x11-6.7.0-r2 since
7 >> -r1? I can't seem to make my "Suspend" key work (it was in -r1) Keyboard is a
8 >> Microsoft Natural Keyboard Pro.
9 >>
10 >> xev says: keycode 225 (keysym 0x0, NoSymbol)
11 >
12 > I thought it was just me! Logitech Cordless Desktop Pro, here.
13 >
14 > It's supposed to use the same keysym, XF86Standby, assigned to <I5F>, in
15 > /etc/X11/xkb/symbols/inet, which is assigned to kernel keycode 223 in
16 > /etc/X11/xkb/keycodes/xfree86, as the MS keyboards.
17
18 OK. Spent about as much time on this as I'm going to. Results:
19
20 It's not the kernel. Booting back to Mandrake (using the same kernel,
21 but different userland naturally, and XFree86 not Xorg) gave me the
22 expected keycode 223 and XF86Standby, recognized by KDE.
23
24 Surprise, however! It is NOT just X, either. I did a showkeys on both
25 Gentoo and Mandrake, console mode, and they came out DIFFERENT. Mandrake
26 yields a multi-code output (14, and 0, and..), while Gentoo yields a
27 single code (142). (I believe those are in hex, not the decimal that xev
28 displays, but didn't attempt to verify.) Thus, it /might/ be something
29 else in userland, maybe glibc.
30
31 Next, back in Gentoo, I tried simply backing up the (/etc/X11/xkb/)
32 keycodes/xfree86 and symbols/inet files, and copying the XFree86 files
33 over the xorg ones, to see if that made a difference. I doubted it would,
34 but figured it was a quick elimination so tried it. I was right. It
35 didn't work.
36
37 I then tried setting up an xmodmap key remap. That /almost/ worked, but
38 not quite. xev output the new keycode (223) and keysym (XF86Standby), but
39 it also output that it was a conversion, keycode 225 into 223, and while
40 khotkeys would recognize it when CHANGING a hotkey, it would NOT recognize
41 it trying to trigger a programmed action.
42
43 Then I spent several hours trying to figure out how to just do a single
44 key mod as a separate file, or do it as a single line in the xorg.conf
45 device keyboard section, so I could leave the existing xkb configuration
46 intact, to no avail. I gave up, feeling rather thick, and frustrated. <g>
47
48 Back on the trail of something I KNEW should work, I decided I had to
49 modify either the symbols or the codes files themselves. I chose the
50 modify the symbols table (symbols/inet). Again, trying to be as minimally
51 invasive as possible, I tried defining XF86Standby to BOTH I5F and I61.
52 As with the xmodmap thing, that /almost/ worked, with the same results
53 (xev saying it was there but converted, khotkeys taking it when SETTING a
54 hotkey, but ignoring it when attempting to USE a hotkey).
55
56 I'd tried putting the I61 definition UNDER the I5F one, so they stayed in
57 order. Since THAT didn't work, I tried reversing them, thinking I61
58 would then be the "real" lookup, being first defined, with I5F then
59 showing up as "converted". I'm not sure why, perhaps because of the
60 sequence of my trials, but that had no effect. The system STILL said I61
61 was a conversion from I5F, and it STILL almost-but-not-quite worked.
62
63 However, what finally *DID* work was commenting out the I5F definition
64 altogether, so I61 = XF86Standby was the ONLY XF86Standby definition.
65 Loading X/KDE for what felt like the hundredth time in the session, *IT*
66 *WORKED*!!
67
68 So, an at least temporary solution is to edit /etc/X11/xkb/symbols/inet,
69 finding the appropriate section for your keyboard, and changing this:
70
71 key <I5F> { [ XF86Standby ] };
72
73 into this:
74
75 // key <I5F> { [ XF86Standby ] };
76 key <I61> { [ XF86Standby ] };
77
78 While that works for now, I'm not entirely happy with it, as depending on
79 how the file is installed by the ebuild (thru /usr or /etc, due to the
80 symlink to the grandparent xkb dir) and the CONFIG_PROTECT, it will either
81 need reedited each time xorg is upgraded, or if CONFIG_PROTECTED, when the
82 bug is fixed.
83
84 I do also need to see about filing the bug, still, checking for duplicates
85 first. I'm tempted to wait until the August release, however, and see if
86 it's fixed there before bothering, as if it's not in process already,
87 validating the fix might make it impossible to do by then anyway. OTOH,
88 I DO wonder what changed, and doing the duplicate bug research might turn
89 that info up, if it HAS already been filed.
90
91 --
92 Duncan - List replies preferred. No HTML msgs.
93 "They that can give up essential liberty to obtain a little
94 temporary safety, deserve neither liberty nor safety." --
95 Benjamin Franklin
96
97
98
99 --
100 gentoo-dev@g.o mailing list