Bug 17160 - ABNT2 missing keys with evdev
Summary: ABNT2 missing keys with evdev
Status: RESOLVED FIXED
Alias: None
Product: xkeyboard-config
Classification: Unclassified
Component: General (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: xkb
QA Contact:
URL: https://bugs.launchpad.net/ubuntu/+so...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-08-15 15:53 UTC by Timo Aaltonen
Modified: 2008-08-16 05:40 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Timo Aaltonen 2008-08-15 15:53:23 UTC
Forwarded from https://bugs.launchpad.net/ubuntu/+source/xkeyboard-config/+bug/255372

The ( ? / ) key stops working after input-hotplug was applied, ie. the evdev driver and model.

The key produces this in xev:

KeyPress event, serial 34, synthetic NO, window 0x4800001,
    root 0x82, subw 0x0, time 1182541, (161,595), root:(1678,646),
    state 0x10, keycode 97 (keysym 0xff24, Romaji), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False


$ setxkbmap -print

xkb_keymap {
 xkb_keycodes { include "evdev+aliases(qwerty)" };
 xkb_types { include "complete" };
 xkb_compat { include "complete" };
 xkb_symbols { include "pc+br+inet(evdev)" };
 xkb_geometry { include "pc(pc104)" };
};
Comment 1 Timo Aaltonen 2008-08-15 16:53:20 UTC
so, this much we managed to debug this on our own:

symbols/br(abnt2) defines AB11 as [ slash,   question, degree,
 questiondown ]
symbols/inet(evdev) redefines AB11 as XF86Launch4.

not only that, but the keycodes seem to be mixed up. 97 has RO.. 
Comment 2 Sergey V. Udaltsov 2008-08-15 17:02:37 UTC
This bug is distro-specific. Ubuntu applied the patch which uses model evdev regardless of the actually chosen model. You should use abnt2 model - and ask Ubuntu not to use evdev unless it is really needed.
Comment 3 Timo Aaltonen 2008-08-15 17:23:31 UTC
with the evdev driver there is no other working model than evdev, otherwise you have all sorts of funky effects when keys are wrongly mapped, see launchpad bug 255008. You maybe didn't know that Fedora does the same now.
Comment 4 Sergey V. Udaltsov 2008-08-15 17:35:14 UTC
Yes I know about fedora. And I am not terribly happy with that. What I can propose (for linuxes only - dirty hack!) is
1. Optional. Adding abnt2 section to keycodes/evdev - with missing keycodes. I am not sure what is the status of the keycode KPPT in evdev.
2. patching rules/base in order to use evdev keycodes wherever possible. The section would look like:
! model         =       keycodes
  amiga         =       amiga(de)
  ataritt       =       ataritt(de)
  sun4          =       sun(type4_euro)
  sun5          =       sun(type5_euro)
  sun6          =       sun(type6_usb)
  pc98          =       xfree98(pc98)
  abnt2         =       evdev(abnt2)
(previous line is optional, if no abnt2 section is needed)
  jp106         =       xfree86(jp106)
  evdev         =       evdev
  olpc          =       evdev
  macintosh_hhk =       macintosh(hhk)
  macintosh_old =       macintosh(old)
 $macbooks      =       macintosh+macintosh(goodmap)
 $macs          =       macintosh
  thinkpadz60   =       xfree86(thinkpadz60)
  *             =       evdev

In that case, the patch in ubuntu/fedora should be reverted. And people should choose abnt2, not evdev.

To make a proper fix, I have to think about that problem some more time...
Comment 5 Daniel Stone 2008-08-16 00:53:23 UTC
On Fri, Aug 15, 2008 at 05:35:15PM -0700, bugzilla-daemon@freedesktop.org wrote:
> --- Comment #4 from Sergey V. Udaltsov <svu@gnome.org>  2008-08-15 17:35:14 PST ---
> Yes I know about fedora. And I am not terribly happy with that. What I can
> propose (for linuxes only - dirty hack!) is
> 1. Optional. Adding abnt2 section to keycodes/evdev - with missing keycodes. I
> am not sure what is the status of the keycode KPPT in evdev.
> 2. patching rules/base in order to use evdev keycodes wherever possible. The
> section would look like:

This is why I was suggesting different rules.  Even with evdev, you
still have some variance between models, and your options are
essentially to have your models as evdev, evdev_abnt2, etc, or to create
a new ruleset called evdev, and let the model field actually refer to
models again.

evdev is here to stay, so we're going to have to deal with it somehow.
Comment 6 Sergey V. Udaltsov 2008-08-16 05:40:10 UTC
Now, we have evdev ruleset - and xorg code is using it for the driver evdev. If abnt2 needs special keycodes for evdev - feel free to contribute to keycodes/evdev(abnt2) - for a moment it is dummy


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.