[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: META key on Ti PowerBook



On Fri, Jul 26, 2002 at 08:26:55PM -0700, John Gilger wrote:
> 
> Neither the option nor the Apple keys work for this in Debian or OS X. 
> This is strange since emacs is available in both OSs.
> 
> Any Mac emacs gurus want to provide some META enlightenment for this 
> rock?
> 

Just for your information, Meta_x is exactly the same as esc-x (esc then
x, not both at the same time), which is often what you need to do if you're
using the terminal mode emacs anyway.

under linux, the solution is probably to have a recent 2.4 kernel, and
to add a boot option to your yaboot.conf along the lines of:

append="keyboard_sends_linux_keycodes=1"

for XDarwin (and possibly in this case also), however, more digging is
going to be required.

xev is your friend when diagnosing problems like this:

you can use it to find out what x events are being generated by
keypresses. As you can see, my (tibook) keyboard is generating meta,
alt and ctrl events just fine.

If your keyboard is generating keycodes for the kepresses/releases, but
these aren't the right keysyms, then you need to use something like
xmodmap to fix the problem. Note that with the introduction of xkb, the
use of xmodmap is frowned upon, but I've been unable to find another way
to do it. :(

toby@phalaris:~$ xmodmap -p
xmodmap:  up to 2 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x6d)
mod1        Alt_L (0x40),  Alt_R (0x71)
mod2        Num_Lock (0x4d)
mod3      
mod4        Meta_L (0x73)
mod5        Scroll_Lock (0x77)


-- so what this tells you is that mod4 (which is what emacs uses) will
be generated when a X KeyPress event with a keysym of Meta_L is
generated. Similarly, mod1, is attached to Alt_L and Alt_R. The tibook
keyboard doesn't seem to distinguish between left and right option keys,
by the way. Whether that's a function of the kernel, or the hardware, I
don't know.

Then, using xev, you can see that keycode 115 is generating KeyPress
events with a Meta_L keysym:

toby@phalaris:~$ xev
...

KeyPress event, serial 27, synthetic NO, window 0x1e00001,
    root 0x3e, subw 0x1e00002, time 1245654653, (55,44), root:(1043,84),
    state 0x0, keycode 115 (keysym 0xffe7, Meta_L), same_screen YES,
    XLookupString gives 0 characters:  ""

KeyRelease event, serial 27, synthetic NO, window 0x1e00001,
    root 0x3e, subw 0x1e00002, time 1245654713, (55,44), root:(1043,84),
    state 0x40, keycode 115 (keysym 0xffe7, Meta_L), same_screen YES,
    XLookupString gives 0 characters:  ""

KeyPress event, serial 27, synthetic NO, window 0x1e00001,
    root 0x3e, subw 0x1e00002, time 1245655532, (55,44), root:(1043,84),
    state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 characters:  ""

KeyRelease event, serial 27, synthetic NO, window 0x1e00001,
    root 0x3e, subw 0x1e00002, time 1245655602, (55,44), root:(1043,84),
    state 0x8, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 characters:  ""

KeyPress event, serial 27, synthetic NO, window 0x1e00001,
    root 0x3e, subw 0x1e00002, time 1245659691, (55,44), root:(1043,84),
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 characters:  ""

KeyRelease event, serial 27, synthetic NO, window 0x1e00001,
    root 0x3e, subw 0x1e00002, time 1245659761, (55,44), root:(1043,84),
    state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 characters:  ""


-- 
To UNSUBSCRIBE, email to debian-powerpc-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: