diff options
| author | Po Lu | 2022-04-10 13:55:18 +0800 |
|---|---|---|
| committer | Po Lu | 2022-04-10 13:55:18 +0800 |
| commit | f29fd102d7531619a98acbf0f3e012fb0f6b233f (patch) | |
| tree | 52f8c17b012cb04a45e1996e18beee4dd4a90110 /src | |
| parent | 75bdf15c2972e216a2c10a7562d96ad217192356 (diff) | |
| download | emacs-f29fd102d7531619a98acbf0f3e012fb0f6b233f.tar.gz emacs-f29fd102d7531619a98acbf0f3e012fb0f6b233f.zip | |
Add missing details to filter event on XI2
* src/xterm.c (handle_one_xevent): Pass coordinates when
translating XI2 key events to core key events.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xterm.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/xterm.c b/src/xterm.c index 34b7c026be8..9de46aba103 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -17279,6 +17279,11 @@ handle_one_xevent (struct x_display_info *dpyinfo, | |||
| 17279 | xkey.state = ((xev->mods.effective & ~(1 << 13 | 1 << 14)) | 17279 | xkey.state = ((xev->mods.effective & ~(1 << 13 | 1 << 14)) |
| 17280 | | (xev->group.effective << 13)); | 17280 | | (xev->group.effective << 13)); |
| 17281 | 17281 | ||
| 17282 | xkey.x = lrint (xev->event_x); | ||
| 17283 | xkey.y = lrint (xev->event_y); | ||
| 17284 | xkey.x_root = lrint (xev->root_x); | ||
| 17285 | xkey.y_root = lrint (xev->root_y); | ||
| 17286 | |||
| 17282 | /* Some input methods react differently depending on the | 17287 | /* Some input methods react differently depending on the |
| 17283 | buttons that are pressed. */ | 17288 | buttons that are pressed. */ |
| 17284 | if (xev->buttons.mask_len) | 17289 | if (xev->buttons.mask_len) |
| @@ -17672,6 +17677,10 @@ handle_one_xevent (struct x_display_info *dpyinfo, | |||
| 17672 | xkey.time = xev->time; | 17677 | xkey.time = xev->time; |
| 17673 | xkey.state = ((xev->mods.effective & ~(1 << 13 | 1 << 14)) | 17678 | xkey.state = ((xev->mods.effective & ~(1 << 13 | 1 << 14)) |
| 17674 | | (xev->group.effective << 13)); | 17679 | | (xev->group.effective << 13)); |
| 17680 | xkey.x = lrint (xev->event_x); | ||
| 17681 | xkey.y = lrint (xev->event_y); | ||
| 17682 | xkey.x_root = lrint (xev->root_x); | ||
| 17683 | xkey.y_root = lrint (xev->root_y); | ||
| 17675 | 17684 | ||
| 17676 | /* Some input methods react differently depending on the | 17685 | /* Some input methods react differently depending on the |
| 17677 | buttons that are pressed. */ | 17686 | buttons that are pressed. */ |