The macintosh keymapping is broken since a long time, and I'm trying to
fix the mess.
what happens with CVS is, xev reports the key "@" with keycode 0x40, but
typing this keycombo in xterm results in garbage:
setxkbmap -model macintosh -layout de -option "" -v -v -v
Setting verbose level to 8
locale is C
Warning! Multiple definitions of keyboard model
Using command line, ignoring X server
Warning! Multiple definitions of keyboard layout
Using command line, ignoring X server
Applied rules from xfree86:
model: macintosh
layout: de
Trying to build keymap using the following components:
keycodes: macintosh(macintosh_linuxkeycodes)+aliases(qwertz)
types: complete
compat: complete
symbols: macintosh/us(extended)+macintosh/de
geometry: macintosh(macintosh)
xev
KeyPress event, serial 21, synthetic YES, window 0x800001,
root 0x40, subw 0x0, time 1539131, (69,8), root:(683,402),
state 0x0, keycode 64 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 24, synthetic YES, window 0x800001,
root 0x40, subw 0x0, time 1540987, (69,8), root:(683,402),
state 0x0, keycode 46 (keysym 0x6c, l), same_screen YES,
XLookupString gives 1 bytes: (6c) "l"
XmbLookupString gives 1 bytes: (6c) "l"
XFilterEvent returns: False
KeyPress event, serial 24, synthetic YES, window 0x800001,
root 0x40, subw 0x0, time 1542395, (69,8), root:(683,402),
state 0x0, keycode 64 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 24, synthetic YES, window 0x800001,
root 0x40, subw 0x0, time 1543139, (69,8), root:(683,402),
state 0x8, keycode 46 (keysym 0x40, at), same_screen YES,
XLookupString gives 1 bytes: (40) "@"
XmbLookupString gives 1 bytes: (40) "@"
XFilterEvent returns: False
[EMAIL PROTECTED]:~> cat | hexdump -C
€
�
00000000 e2 82 ac 0a c0 0a |......|
00000006
As you can see, the Euro looks ok, but at sign should be 0x40, but it is
0xc0. How can that happen?
diff -purN /home/olaf/xkb/keycodes/macintosh xkb/keycodes/macintosh
--- /home/olaf/xkb/keycodes/macintosh 2003-09-14 21:46:00.000000000 +0200
+++ xkb/keycodes/macintosh 2003-09-20 22:17:38.000000000 +0200
@@ -29,6 +29,15 @@
// $XFree86: xc/programs/xkbcomp/keycodes/macintosh,v 1.5 2001/10/03 07:44:22 alanh
Exp $
//
default xkb_keycodes "macintosh" {
+};
+
+xkb_keycodes "macintosh_linuxkeycodes" {
+ include "xfree86(basic)"
+ <RALT> = 64;
+ <LALT> = 115;
+};
+
+xkb_keycodes "macintosh_foobar" {
minimum= 8;
maximum= 134;
diff -purN /home/olaf/xkb/rules/xfree86 xkb/rules/xfree86
--- /home/olaf/xkb/rules/xfree86 2003-09-14 21:46:06.000000000 +0200
+++ xkb/rules/xfree86 2003-09-20 22:15:05.000000000 +0200
@@ -23,6 +23,7 @@
! model = keycodes
macintosh_old = macintosh
+ macintosh = macintosh(macintosh_linuxkeycodes)
powerpcps2 = powerpcps2
pc98 = xfree98(pc98)
abnt2 = xfree86(abnt2)
diff -purN /home/olaf/xkb/symbols/macintosh/de xkb/symbols/macintosh/de
--- /home/olaf/xkb/symbols/macintosh/de 2003-09-14 21:46:04.000000000 +0200
+++ xkb/symbols/macintosh/de 2003-09-20 22:41:56.000000000 +0200
@@ -9,14 +9,13 @@ xkb_symbols "basic" {
// Describes the differences between a very simple US/ASCII
// keyboard and a very simple German keybaord
+key <RALT> { [ ISO_Level3_Shift ] };
+
// Alphanumeric section
name[Group1]= "German";
- key <TLDE> { [ dead_circumflex, degree ],
- [ notsign ] };
- key <AE01> { [ 1, exclam ],
- [ exclamdown, at ] };
- key <AE02> { [ 2, quotedbl ],
- [ twosuperior ] };
+ key <TLDE> { [ dead_circumflex, degree, notsign ]};
+ key <AE01> { [ 1, exclam, exclamdown, at ]};
+ key <AE02> { [ 2, quotedbl, twosuperior ]};
key <AE03> { [ 3, section ],
[ threesuperior,sterling ] };
key <AE04> { [ 4, dollar ],
@@ -40,10 +39,8 @@ xkb_symbols "basic" {
key <AD01> { [ q, Q ],
[guillemotleft,guillemotright ] };
- key <AD03> { [ e, E ],
- [ EuroSign ] };
- key <AD04> { [ r, R ],
- [ registered ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD04> { [ r, R, registered ] };
key <AD05> { [ t, T ] };
key <AD06> { [ z, Z ] };
key <AD07> { [ u, U ],
@@ -63,8 +60,7 @@ xkb_symbols "basic" {
[ copyright ] };
key <AC06> { [ h, H ],
[ ordfeminine ] };
- key <AC09> { [ l, L ],
- [ at ] };
+ key <AC09> { [ l, L, at ] };
key <AC10> { [ odiaeresis, Odiaeresis ],
[ dead_acute ] };
key <AC11> { [ adiaeresis, Adiaeresis ],
--
USB is for mice, FireWire is for men!
sUse lINUX ag, nÜRNBERG
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel