abnt2 layout broken when using evdev driver.

Bug #61883 reported by SamuelAbreu
6
Affects Status Importance Assigned to Milestone
X.Org X server
Fix Released
Wishlist
xserver-xorg-input-evdev (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Hi, im using the evdev driver in a multiseat configuration using ubuntu.

My first problem is that some keys don't work, like /, arrows, etc.
I look in the internet and didn't find anything, so i try to fix by hand, i change the /etc/X11/xkb/keycodes/xfree86 and done, almost all keys works fine now.
But win key, numeric enter, numeric dot doesn't.

Insert keep opening rhytmbox.

I couldn't fix these keys so i trying here! :)

Looking in the google i find a post in the mail list of Ander Conselvan de Oliveira, i send him a message and he point me that bug:
https://bugs.freedesktop.org/show_bug.cgi?id=5696

He tell me to try the evdev_abnt2 XkbModel, but don't exist in dapper neither in Edgy, so i don't know if it is the fix.

Here is one of the keyboards:
Section "InputDevice"
        Identifier "Keyboard.0" # Intended to be the main keyboard port
        Driver "evdev"
        Option "Phys" "isa0060/serio0/input0"
        Option "XkbRules" "xorg"
        Option "XkbModel" "abnt2"
        Option "XkbLayout" "br"
EndSection

The patch of /etc/X11/xkb/keycodes/xfree86 to work:
--- xfree86.bkp 2006-08-07 16:05:23.000000000 -0300
+++ xfree86 2006-08-07 16:05:32.000000000 -0300
@@ -82,9 +82,9 @@
     <RCTL> = 109;
     <RALT> = 113;
     // Microsoft keyboard extra keys
- <LWIN> = 115;
- <RWIN> = 116;
- <MENU> = 117;
+# <LWIN> = 115;
+# <RWIN> = 116;
+# <MENU> = 117;

     <ESC> = 9;
     <FK01> = 67;
@@ -100,7 +100,7 @@
     <FK11> = 95;
     <FK12> = 96;

- <PRSC> = 111;
+# <PRSC> = 111;
     <SYRQ> = 92;
     <SCLK> = 78;
     <PAUS> = 110;
@@ -109,7 +109,7 @@
     <INS> = 106;
     <HOME> = 97;
     <PGUP> = 99;
- <DELE> = 107;
+# <DELE> = 107;
     <END> = 103;
     <PGDN> = 105;

@@ -155,7 +155,7 @@
     <AB11> = 211; // backslash/underscore
     <XFER> = 129; // Henkan
     <NFER> = 131; // Muhenkan
- <AE13> = 133; // Yen
+# <AE13> = 133; // Yen

     // Keys that are generated on Korean keyboards

@@ -386,7 +386,7 @@
     <UP> = 128;
     <LEFT> = 132;
     <DOWN> = 120;
- <RGHT> = 133;
+# <RGHT> = 133;

     <KPDV> = 125;

@@ -410,6 +410,23 @@
     <BKSL> = 94;
     <AC12> = 51;
     <KPPT> = 134;
+ <KPDV> = 106;
+ <AB11> = 97;
+ <PRSC> = 107;
+ <UP> = 111;
+ <RALT> = 108;
+ <LEFT> = 113;
+ <RGHT> = 114;
+ <BRK> = 127;
+ <DOWN> = 116;
+ <RWIN> = 134;
+ <INS> = 118;
+ <DELE> = 119;
+ <HOME> = 110;
+ <END> = 115;
+ <PGUP> = 112;
+ <PGDN> = 117;
+ <LWIN> = 133;
 };

Thanks.

Revision history for this message
Paulo J. S. Silva (pjssilva) wrote :

Same here using dapper.

However I can get most of the keys working (like the arrow keys, Home, End, etc.) if I set

Option "XkbModel" "evdev"

instead of "abnt2".

But there is at least one "dead" key, the key associated to the slash and the question mark. Other keys are mapped to the wrong character like backslash or closing bracket.

I'll try to upgrade now to edgy and see it if works. Edgy is in beta now, so now is time to find the last bugs.

Revision history for this message
Paulo J. S. Silva (pjssilva) wrote :

I am now in edgy and the same problem persists. The key associated to "/" is completely dead and some other keys are mapped to the wrong characters.

If someone points me to a software that can present the evdev scancodes on the console I may try to edit the

/etc/X11/xkb/keycodes/evdev

file to see if I can bring the / key alive.

Revision history for this message
Paulo J. S. Silva (pjssilva) wrote :

OK, I could get the keyboard working correctly after editing

/etc/X11/xkb/keycodes/evdev

The diff is at the end.

Is there any intelligent way of doing this? I saw that other keycodes files have can redefine only some keycodes like the following part of xfree86 keycode file:

---

// For brazilian ABNT2 keyboard. by Ricardo Y. Igarashi(<email address hidden>)
xkb_keycodes "abnt2" {
    include "xfree86(basic)"
    <BKSL> = 94;
    <AC12> = 51;
    <KPPT> = 134;
};

---

Can I do the same in the evdev keycode file?

Paulo

--- Here is the diff ----

pjssilva@leia:/etc/X11/xkb/keycodes$ diff evdev evdev.original
34a35
> <BKSL> = 51;
49d49
< <AC12> = 51;
69,72d68
<
< // Slash key in ABTN2 keyboard
< <AB11> = 97;
<
127,128c123
< // 94 is backslash in ABNT2
< <BKSL> = 94;
---
> <LSGT> = 94;

Revision history for this message
Paul Dufresne (paulduf) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. You reported this bug a while ago and there hasn't been any activity in it recently. We were wondering is this still an issue for you? Can you try with latest Ubuntu release? Thanks in advance.

Changed in xkeyboard-config:
assignee: nobody → dufresnep
status: New → Incomplete
Changed in xorg-server:
status: Unknown → Fix Released
Revision history for this message
wolfger (wolfger) wrote :

The upstream bug was fixed over 2 years ago (before this bug was even filed). Surely it's been incorporated into Ubuntu by now?

Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :

We are closing this report because it was fixed 2 years ago. It was fixed in Debian version 1.1.2-1 and from Ubuntu Dapper.
Reaffecting to the right package.

Thanks for taking the time to make Ubuntu better!

Changed in xkeyboard-config:
status: Incomplete → Fix Released
Changed in xorg-server:
importance: Unknown → Wishlist
Changed in xorg-server:
importance: Wishlist → Unknown
Changed in xorg-server:
importance: Unknown → Wishlist
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.