Mercurial > emacs
comparison src/xterm.c @ 7706:44ff7a0a70b6
(x_is_vendor_fkey): Function deleted.
(XTread_socket, case KeyPressed): Don't clear the vendor-specific bit.
Pass thru almost any vendor-specific keysym.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 27 May 1994 22:18:39 +0000 |
parents | 8212755ff793 |
children | a810335742bb |
comparison
equal
deleted
inserted
replaced
7705:b10cc49f6c37 | 7706:44ff7a0a70b6 |
---|---|
1917 | ((state & hyper_modifier) ? x_hyper_mod_mask : 0) | 1917 | ((state & hyper_modifier) ? x_hyper_mod_mask : 0) |
1918 | ((state & shift_modifier) ? ShiftMask : 0) | 1918 | ((state & shift_modifier) ? ShiftMask : 0) |
1919 | ((state & ctrl_modifier) ? ControlMask : 0) | 1919 | ((state & ctrl_modifier) ? ControlMask : 0) |
1920 | ((state & meta_modifier) ? x_meta_mod_mask : 0)); | 1920 | ((state & meta_modifier) ? x_meta_mod_mask : 0)); |
1921 } | 1921 } |
1922 | |
1923 /* Return true iff KEYSYM is a vendor-specific keysym that we should | |
1924 return as a function key. If you add a keysym to this, you should | |
1925 make sure that the tables make_lispy_event uses contain a suitable | |
1926 name for it. */ | |
1927 static int | |
1928 x_is_vendor_fkey (sym) | |
1929 KeySym sym; | |
1930 { | |
1931 return 0 | |
1932 #ifdef DXK_Remove | |
1933 || (sym == DXK_Remove) | |
1934 #endif | |
1935 ; | |
1936 } | |
1937 | |
1938 | 1922 |
1939 /* Mouse clicks and mouse movement. Rah. */ | 1923 /* Mouse clicks and mouse movement. Rah. */ |
1940 #ifdef HAVE_X11 | 1924 #ifdef HAVE_X11 |
1941 | 1925 |
1942 /* Given a pixel position (PIX_X, PIX_Y) on the frame F, return | 1926 /* Given a pixel position (PIX_X, PIX_Y) on the frame F, return |
3753 event.xkey.state &= ~ControlMask; | 3737 event.xkey.state &= ~ControlMask; |
3754 nbytes = | 3738 nbytes = |
3755 XLookupString (&event.xkey, copy_buffer, 80, &keysym, | 3739 XLookupString (&event.xkey, copy_buffer, 80, &keysym, |
3756 &compose_status); | 3740 &compose_status); |
3757 | 3741 |
3758 /* Strip off the vendor-specific keysym bit, and take a shot | |
3759 at recognizing the codes. HP servers have extra keysyms | |
3760 that fit into the MiscFunctionKey category. */ | |
3761 orig_keysym = keysym; | 3742 orig_keysym = keysym; |
3762 keysym &= ~(1<<28); | |
3763 | 3743 |
3764 if (numchars > 1) | 3744 if (numchars > 1) |
3765 { | 3745 { |
3766 if (((keysym >= XK_BackSpace && keysym <= XK_Escape) | 3746 if (((keysym >= XK_BackSpace && keysym <= XK_Escape) |
3767 || keysym == XK_Delete | 3747 || keysym == XK_Delete |
3814 #ifdef XK_dead_abovedot | 3794 #ifdef XK_dead_abovedot |
3815 || orig_keysym == XK_dead_abovedot | 3795 || orig_keysym == XK_dead_abovedot |
3816 #endif | 3796 #endif |
3817 || IsKeypadKey (keysym) /* 0xff80 <= x < 0xffbe */ | 3797 || IsKeypadKey (keysym) /* 0xff80 <= x < 0xffbe */ |
3818 || IsFunctionKey (keysym) /* 0xffbe <= x < 0xffe1 */ | 3798 || IsFunctionKey (keysym) /* 0xffbe <= x < 0xffe1 */ |
3819 || x_is_vendor_fkey (orig_keysym)) | 3799 /* Any "vendor-specific" key is ok. */ |
3800 || (orig_keysym & (1 << 28))) | |
3820 && ! (IsModifierKey (orig_keysym) | 3801 && ! (IsModifierKey (orig_keysym) |
3821 #ifndef HAVE_X11R5 | 3802 #ifndef HAVE_X11R5 |
3822 #ifdef XK_Mode_switch | 3803 #ifdef XK_Mode_switch |
3823 || ((unsigned)(orig_keysym) == XK_Mode_switch) | 3804 || ((unsigned)(orig_keysym) == XK_Mode_switch) |
3824 #endif | 3805 #endif |