>>>> "Ben" == Ben Wing <ben(a)666.com>
writes:
Ben> i want to implement menu accelerators on alt if both alt and
Ben> meta exist. many people under x [e.g. hrvoje] have asked for
Ben> this and it should be completely safe. but i need to know
Ben> what the names of the alt and meta keys are for various
Ben> keyboards ...
I don't know exactly what you mean, I grepped the XFree86 xkb symbol
definitions for alt and meta, see below. If you need something else,
tell me. On a lot of keyboards META is apparently implemented by some
sort of shift of ALT, so be careful.
With xkb it should be possible to ask what key produces ALT, what key
produces META, and check if they're different. (I don't know how to
do this.) Most Linux systems use xkb now I think, don't know about
other vendors though; if that's actually XFree86 policy, then most
free *nices do, I guess.
symbols/amiga: key <LALT> { [ Alt_L, Meta_L ] };
symbols/amiga: key <RALT> { [ Alt_R, Meta_R ] };
symbols/amiga: modifier_map Mod1 { Alt_L, Alt_R };
symbols/amiga: modifier_map Mod3 { Meta_L, Meta_R };
symbols/amiga: key <LALT> { [ Alt_L ] };
symbols/amiga: key <LAMI> { [ Meta_L ] };
symbols/amiga: key <RALT> { [ Alt_R ] };
symbols/amiga: modifier_map Mod1 { Alt_L, Alt_R, Meta_L };
symbols/ataritt: key <ALT> { [ Meta_L ] };
symbols/ataritt: modifier_map Mod1 { Meta_L };
symbols/bg: key <RALT> { [ Mode_switch, Multi_key ] };
symbols/jp: key <LALT> { [ Alt_L,Meta_L ] };
symbols/jp: key <RALT> { [ Alt_R,Meta_R ] };
symbols/pc104:// Use "Alt_*" for both alt keys, "Meta_*" for both
windows keys, and Menu for
symbols/pc104: key <LALT> { [ Alt_L ] };
symbols/pc104: key <LWIN> { [ Meta_L ] };
symbols/pc104: key <RALT> { [ Alt_R ] };
symbols/pc104: key <RWIN> { [ Meta_R ] };
symbols/us: key <LALT> { [ Alt_L ] };
symbols/us: key <RALT> { [ Alt_R ] };
symbols/us: modifier_map Mod1 { Alt_L, Alt_R };
symbols/us:// definition of Euro-style, Alt_R == [Mode_switch, Multi_key]
symbols/us: key <LALT> { [ Alt_L, Meta_L ] };
symbols/us: key <RALT> { [ Mode_switch, Multi_key ] };
symbols/us: modifier_map Mod1 { Alt_L, Meta_L };
symbols/us:// definition of Alternate Euro-style, Alt_R == [Multi_key]
symbols/us: key <LALT> { [ Alt_L, Meta_L ] };
symbols/us: key <RALT> { [ Multi_key ] };
symbols/us: modifier_map Mod1 { Alt_L, Meta_L };
symbols/us: key <LALT> { [ Alt_L ] };
symbols/us: key <RALT> { [ Alt_R ] };
symbols/us: key <LWIN> { [ Meta_L ] };
symbols/us: key <RWIN> { [ Meta_R ] };
symbols/us: modifier_map Mod1 { Alt_L, Alt_R };
symbols/us: modifier_map Mod4 { Meta_L, Meta_R };
symbols/digital/lk: modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
symbols/digital/lk: key <LALT> { [ Alt_L, Meta_L ] };
symbols/digital/lk: key <RALT> { [ Alt_R, Meta_R ] };
symbols/digital/pc:// Make RALT default to Mode_switch
symbols/digital/pc: modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R
};
symbols/digital/pc: key <LALT> { [ Alt_L, Meta_L ] };
symbols/digital/pc: key <RALT> { [ Mode_switch ] };
symbols/digital/pc: type= "SHIFT+ALT",
symbols/digital/pc: replace key <LALT> { [ Alt_L ] };
symbols/digital/pc: key <LWIN> { [ Meta_L ] };
symbols/digital/pc: key <RWIN> { [ Meta_R ] };
symbols/digital/us: replace key <RALT> { [ Alt_R, Meta_R ] };
symbols/digital/us: replace key <RALT> { [ Alt_R ] };
symbols/digital/vt: modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R
};
symbols/digital/vt: key <LCMP> { [ Alt_L, Meta_L ] };
symbols/digital/vt: type= "SHIFT+ALT",
symbols/digital/vt: key <LALT> { [ Alt_L, Meta_L ] };
symbols/digital/vt: key <RALT> { [ Alt_R, Meta_R ] };
symbols/fujitsu/us: key <LALT> { [ Alt_L ] };
symbols/fujitsu/us: key <RALT> { [ Alt_R ] };
symbols/fujitsu/us: key <LMTA> { [ Meta_L ] };
symbols/fujitsu/us: key <RMTA> { [ Meta_R ] };
symbols/fujitsu/us: modifier_map Mod1 { Meta_L, Meta_R };
symbols/fujitsu/us: modifier_map Mod3 { Alt_L };
symbols/macintosh/us: key <LMTA> { [ Meta_L ] };
symbols/macintosh/us: key <LALT> { [ Alt_L ] };
symbols/macintosh/us: key <RMTA> { [ Meta_R ] };
symbols/macintosh/us: key <RALT> { [ Alt_R ] };
symbols/macintosh/us:// modifier_map Mod1 { Meta_L, Meta_R };
symbols/macintosh/us:// modifier_map Mod2 { Alt_L, Alt_R };
symbols/macintosh/us: modifier_map Mod1 { Alt_L, Alt_R };
symbols/macintosh/us: modifier_map Mod4 { Meta_L, Meta_R };
symbols/nec/jp: key <LALT> { [ Alt_L ] };
symbols/nec/jp: modifier_map Mod1 { Alt_L };
symbols/sony/us: key <LALT> { [ Alt_L, Meta_L ] };
symbols/sony/us: modifier_map Mod3 { Alt_L };
symbols/sun/se: key <LALT> { [ Alt_L ] };
symbols/sun/se: key <LMTA> { [ Meta_L ] };
symbols/sun/se: key <RMTA> { [ Meta_R ] };
symbols/sun/se: modifier_map Mod1 { Meta_L, Meta_R };
symbols/sun/se: modifier_map Mod2 { Alt_L };
symbols/sun/se: key <LALT> { [ Alt_L ] };
symbols/sun/se: key <LMTA> { [ Meta_L ] };
symbols/sun/se: key <RMTA> { [ Meta_R ] };
symbols/sun/se: modifier_map Mod1 { Meta_L, Meta_R };
symbols/sun/se: modifier_map Mod2 { Alt_L };
symbols/sun/us: key <LALT> { [ Alt_L ] };
symbols/sun/us: key <LMTA> { [ Meta_L ] };
symbols/sun/us: key <RMTA> { [ Meta_R ] };
symbols/sun/us: modifier_map Mod1 { Meta_L, Meta_R };
symbols/sun/us: modifier_map Mod2 { Alt_L };
symbols/sun/us: key <LALT> { [ Alt_L ] };
symbols/sun/us: key <LMTA> { [ Meta_L ] };
symbols/sun/us: key <RMTA> { [ Meta_R ] };
symbols/sun/us: modifier_map Mod1 { Meta_L, Meta_R };
symbols/sun/us: modifier_map Mod2 { Alt_L };
--
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Institute of Policy and Planning Sciences Tel/fax: +81 (298) 53-5091
_________________ _________________ _________________ _________________
What are those straight lines for? "XEmacs rules."