The ABNT2 keyboards have 2 keys more then the usual PC104 keyboard. Those keys are one a '.' in the keypad (since in Brazil the decimal separator is ',' and logicaly the key on the right of the '0' is a ','). The other is a key between the left 'shit' and the 'Z' at the lower left of the keyboard. Now this second key stands for [ '\' '|' 'ΒΊ' '˘' ] or as configured in the symbols/br: { [ backslash, bar, masculine, dead_breve ] } The problem appear when we use two keyboards, in my case I have a standart laptop keybooard and a external one with the ABNT2 layout. In the configuration made by "Ricardo Y. Igarashi <iga@that.com.br>" you have that key labled <BKSL> that in the same lable for a key with a similar layout in the pc104 keyboard. This rename operation makes the key in the english layout simply disapear. I made a few changes in my configuration that make it all ok. I configured the layout as ABNT2 and multiple layouts (Br and US international). After I made the following simple changes to /usr/lib/X11/xkb/symbols/br and /usr/lib/X11/xkb/keycodes/xfree86 all worked fine. --------------- br.diff ----------------------- 32c32,35 < key <AC12> { [bracketright, braceright, masculine, masculine ] }; --- > > // Altered by Victor Bogado <victor@bogado.net> > // key <AC12> { [bracketright, braceright, masculine, masculine ] };> key <BKSL> { [bracketright, braceright, masculine, masculine ] }; 36c39,42 < key <BKSL> { [ backslash, bar, masculine, dead_breve ]}; --- > // Altered by Victor Bogado <victor@bogado.net> > // key <BKSL> { [ backslash, bar, masculine, dead_breve ]}; > key <AC13> { [ backslash, bar, masculine, dead_breve ]}; > --------------- xfree86.diff ----------------------- 407a408 > // Altered for compatibility 410,411c411,415 < <BKSL> = 94; < <AC12> = 51; --- > // Altered by Victor Bogado <victor@bogado.net> > // <BKSL> = 94; > // <AC12> = 51; > <BKSL> = 51; > <AC13> = 94;
Created attachment 3646 [details] [review] Diff for the file /usr/lib/X11/xkb/keycodes/xfree86 Submited the diff for /usr/lib/X11/xkb/keycodes/xfree86
Created attachment 3647 [details] [review] Diff for the file /usr/lib/X11/xkb/symbols/br diff file uploaded
committed to xkeyboard-config. could you please check it works ok.
Dealing with the development of some new variants for the brazilian (br) layout, I found out that the proposed fix keeps the abnt2 model incompatible with other models that map the 94 scancode the the LSGT keycode. Wouldn't it be better for the abnt2 model to follow the pattern of other models? If you want to, for instance, use model abnt2 and layout pt (portuguese), or model pc104 or pc105 and layout br, the LSGT keycode will work either way. ------ keycodes/xfree86 diff ------ 414c414 < <AC13> = 94; --- > <LSGT> = 94; ------ symbols/br diff ------ 38c38 < key <AC13> { [ backslash, bar, masculine, dead_breve ] }; --- > key <LSGT> { [ backslash, bar, masculine, dead_breve ] };
Created attachment 7845 [details] [review] patch to symbols/br
Created attachment 7846 [details] [review] patch to keycodes/xfree86
Yes, these patch look reasonable. Committed.
(In reply to comment #7) > Yes, these patch look reasonable. Committed. > The second patch is correct? <LSGT> = 94; is from xfree86(basic) and will be inherited by abnt2. Only remove the <AC13> = 94; is a good idea (i think).
Piter, LSGT seems not be in xfree86(basic), but in xfree86(xfree86), which also defines <BKSL> = 51; I changed it now, and it is working fine: ------ diff to keycodes/xfree86 412,414c412 < include "xfree86(basic)" < <BKSL> = 51; < <LSGT> = 94; --- > include "xfree86(xfree86)" ------ The BKSL and LSGT keys are still recognized, and this way I think the abnt2 model stays the most compatible with other models.
Created attachment 7860 [details] [review] new patch to keycodes/xfree86
I already noticed that optimization, see in CVS:)
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.