diff options
| author | Po Lu | 2023-08-26 09:38:34 +0800 |
|---|---|---|
| committer | Po Lu | 2023-08-26 09:38:34 +0800 |
| commit | 4a6b32f72fff698fcef9cd583d0561f02687b9f2 (patch) | |
| tree | 4faf21fd03c95e0da54189f9c405605bd2a26371 /src | |
| parent | 64269125156836060eb95b28b01b877c74e800d8 (diff) | |
| download | emacs-4a6b32f72fff698fcef9cd583d0561f02687b9f2.tar.gz emacs-4a6b32f72fff698fcef9cd583d0561f02687b9f2.zip | |
Disable XkbLC_ControlFallback
* src/xterm.c (handle_one_xevent) <XI_KeyPress>: Fix typos within
the commentary.
(x_term_init) [HAVE_XKB]: Disable the ControlFallback library
control, lest Xlib map function keys with ControlMask set to
ASCII keysyms within inactive groups.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xterm.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/xterm.c b/src/xterm.c index 01b9e3f1c1f..d826eec2419 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -23784,7 +23784,8 @@ handle_one_xevent (struct x_display_info *dpyinfo, | |||
| 23784 | deriving a keysym or text to insert. | 23784 | deriving a keysym or text to insert. |
| 23785 | 23785 | ||
| 23786 | Otherwise, if the XKB extension is available, calls | 23786 | Otherwise, if the XKB extension is available, calls |
| 23787 | are made to XkbLookupKeycode and XkbTranslateKeysym. | 23787 | are made to XkbTranslateKeyCode and |
| 23788 | XkbTranslateKeySym. | ||
| 23788 | 23789 | ||
| 23789 | And if all else fails, XEV is transformed into a core | 23790 | And if all else fails, XEV is transformed into a core |
| 23790 | event and provided to XLookupString, in a manner | 23791 | event and provided to XLookupString, in a manner |
| @@ -24081,7 +24082,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, | |||
| 24081 | goto xi_done_keysym; | 24082 | goto xi_done_keysym; |
| 24082 | 24083 | ||
| 24083 | /* Save the original keysym in case | 24084 | /* Save the original keysym in case |
| 24084 | XkbTranslateKeysym overflows. */ | 24085 | XkbTranslateKeySym overflows. */ |
| 24085 | sym = keysym, overflow = 0; | 24086 | sym = keysym, overflow = 0; |
| 24086 | 24087 | ||
| 24087 | /* Translate this keysym and its modifier | 24088 | /* Translate this keysym and its modifier |
| @@ -31098,7 +31099,17 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name) | |||
| 31098 | XkbNewKeyboardNotifyMask | XkbMapNotifyMask, | 31099 | XkbNewKeyboardNotifyMask | XkbMapNotifyMask, |
| 31099 | XkbNewKeyboardNotifyMask | XkbMapNotifyMask); | 31100 | XkbNewKeyboardNotifyMask | XkbMapNotifyMask); |
| 31100 | } | 31101 | } |
| 31101 | #endif | 31102 | |
| 31103 | /* XFree86 extends XKBlib with a new Xlib control `ControlFallback', | ||
| 31104 | which enables a search for symbols designating ASCII characters | ||
| 31105 | within inactive groups during keycode translation when | ||
| 31106 | ControlMask is set. Users find this behavior gratuitous, so | ||
| 31107 | disable it if present. */ | ||
| 31108 | |||
| 31109 | #ifdef XkbLC_ControlFallback | ||
| 31110 | XkbSetXlibControls (dpyinfo->display, XkbLC_ControlFallback, 0); | ||
| 31111 | #endif /* XkbLC_ControlFallback */ | ||
| 31112 | #endif /* HAVE_XKB */ | ||
| 31102 | 31113 | ||
| 31103 | #ifdef HAVE_XFIXES | 31114 | #ifdef HAVE_XFIXES |
| 31104 | int xfixes_error_base; | 31115 | int xfixes_error_base; |