Commit Graph

17075 Commits

Author SHA1 Message Date
Sam Lantinga
382494eeda checkkeys: draw the IME composition text 2024-06-24 20:32:03 -07:00
Sam Lantinga
018ca39c45 Don't move the cursor to the end of the selected candidate
We might have legitimately moved the cursor to the beginning.

Fixes https://github.com/libsdl-org/SDL/issues/9761
2024-06-24 20:32:03 -07:00
Sam Lantinga
92b3ce20b1 checkkeys: don't toggle text input with the left mouse button
This often gets triggered when clicking back and forth between the language bar and the application
2024-06-24 20:32:03 -07:00
Sam Lantinga
377014c430 Added some documentation to the SDL_EVENT_TEXT_EDITING event 2024-06-24 20:32:03 -07:00
Sam Lantinga
01ae067504 checkkeys: print the start/length values of the SDL_EVENT_TEXT_EDITING event 2024-06-24 20:32:03 -07:00
Sam Lantinga
8328fdfe0d Don't use raw keyboard input when text input is active
This lets IME processing consume key events that shouldn't be passed on to the application
2024-06-24 20:32:03 -07:00
Frank Praznik
f79d0adfc9 x11: Avoid excessive keymap reconstruction
KeymapNotify events happen on focus events, as well as when the keymap group changes. Query the current group and don't rebuild the keymap if it hasn't changed.

Note that some IME changes, such as activating intelligent Japanese or Chinese input methods on Gnome, will only trigger IBus activation, and won't send a keymap or group update as they use the existing layout.
2024-06-24 16:39:20 -04:00
Sam Lantinga
94ae4e1513 Fixed build warnings 2024-06-24 13:36:56 -07:00
Anonymous Maarten
d52ea20916 cmake: check for valid isinf/isinff/isnan/isnanf macros 2024-06-24 22:00:53 +02:00
SDL Wiki Bot
ea11c9e0c7 Sync SDL3 wiki -> header 2024-06-24 19:23:37 +00:00
Sam Lantinga
0ff5c05486 Added SDL_GetWindows() 2024-06-24 12:22:12 -07:00
SDL Wiki Bot
2c745dbd3c Sync SDL3 wiki -> header 2024-06-24 18:50:19 +00:00
Sam Lantinga
2f5b20fcb5 Updated based on feedback from @JKaniarz 2024-06-24 11:49:15 -07:00
Sam Lantinga
a938e2b979 Replaced test framework random code with SDL random functions 2024-06-24 11:49:15 -07:00
Sam Lantinga
96f2f23240 Simplified SDL random function names and added thread-safe versions 2024-06-24 11:49:15 -07:00
Sam Lantinga
d013ac80ef Don't check for isinf() and friends using CMake
These are often macros or defined for only doubles or only floats, so the current detection doesn't meet our needs
2024-06-24 11:49:15 -07:00
Sam Lantinga
89cdadf7c3 Added SDL_isinf(), SDL_isinff(), SDL_isnan(), and SDL_isnanf() 2024-06-24 11:49:15 -07:00
SDL Wiki Bot
410bed20ba Sync SDL3 wiki -> header 2024-06-24 18:21:18 +00:00
Edoardo Lolletti
20dbe90771 Fix std::thread memory leak
In the stdcpp thread implementation, the allocated std::thread objects were never deleted after joining/detaching
2024-06-24 14:20:10 -04:00
Sam Lantinga
138eb8649d checkkeys: draw a blinking cursor 2024-06-24 11:20:08 -07:00
Sam Lantinga
505badb7af checkkeys: added support for multiple windows 2024-06-24 11:20:08 -07:00
Sam Lantinga
76631a0978 The text input state has been changed to be window-specific.
SDL_StartTextInput(), SDL_StopTextInput(), SDL_TextInputActive(), SDL_ClearComposition(), and SDL_SetTextInputRect() all now take a window parameter.

This change also fixes IME candidate positioning when SDL_SetTextInputRect() is called before SDL_StartTextInput(), as is recommended in the documentation.
2024-06-24 11:20:08 -07:00
Sam Lantinga
258ee05655 checkkeys: enable showing IME candidates 2024-06-24 11:20:08 -07:00
Simon McVittie
2cfeff1505 testevdev: Associate HID reports for pedals with their other test data
This is how these globals were intended to have been used, similar to
what we already did for the Fanatec device.

Fixes: 3772d6cc "testevdev: Add raw HID report descriptors where available"
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-06-24 04:39:34 -07:00
Simon McVittie
3150fdc75e Revert "testevdev.c: comment out two unused data to fix build."
This reverts commit e4f53e6b21.
We'll use these in the next commit.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-06-24 04:39:34 -07:00
Frank Praznik
a4ceb3a31c Revert "x11: Avoid excess keymap reconstruction"
Switching between layouts with the same group number (e.g. US to Japanese) were incorrectly filtered out with this change, as it doesn't trigger a MappingNotify event.

This reverts commit 3d42412650.
2024-06-23 22:21:09 -04:00
Frank Praznik
3d42412650 x11: Avoid excess keymap reconstruction
KeymapNotify events happen on focus events, as well as when the key group changes. Query the current group and don't rebuild the keymap if it hasn't changed.
2024-06-23 17:52:21 -04:00
Anonymous Maarten
5217c040be Sort possible SDL_KeyCode values (swap SDLK_PERCENT and SDLK_DOLLAR) 2024-06-23 22:52:17 +02:00
Frank Praznik
974bbea20b x11: Add keymap support
XkbKeycodeToKeySym is replaced with XkbLookupKeySym, which can take the modifier states. The associated cmake check has been renamed for consistency.

Only the XKB path is currently handled. The deprecated XKeycodeToKeysym path is TODO.
2024-06-23 15:40:55 -04:00
Frank Praznik
c874a78ffb wayland: Add keymap support 2024-06-23 15:40:55 -04:00
Sam Lantinga
ab3c8552c2 Clean up renderers at shutdown
Fixes https://github.com/libsdl-org/SDL/issues/10082
2024-06-23 00:41:19 -07:00
Sam Lantinga
fd3143f445 Added more documentation for SDL_HINT_MOUSE_RELATIVE_CURSOR_VISIBLE and SDL_HINT_MOUSE_RELATIVE_CLIP_INTERVAL 2024-06-23 00:11:56 -07:00
SDL Wiki Bot
398391b01e Sync SDL3 wiki -> header 2024-06-23 07:11:23 +00:00
expikr
3b504c4a89 Add SDL_HINT_MOUSE_RELATIVE_CLIP_INTERVAL (#10085) 2024-06-23 00:09:59 -07:00
Frank Praznik
0280d8249a keyboard: Fix typo 2024-06-22 15:56:50 -04:00
Anonymous Maarten
2018882bf2 testmanymouse: enable raw keyboard events on Windows 2024-06-22 11:35:00 -07:00
Ganael Laplanche
f8ad4abe4e Fix joystick (/dev/input/xxx) support on FreeBSD
When switching to CMake, src/joystick/linux/SDL_sysjoystick.c file got
excluded from FreeBSD builds, losing support for /dev/input/xxx devices.

See also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279907
2024-06-22 07:06:02 -07:00
Anonymous Maarten
99d28ca485 testmanymouse: fix argument parsing 2024-06-22 14:43:06 +02:00
SDL Wiki Bot
ba188e7555 Sync SDL3 wiki -> header 2024-06-22 07:20:00 +00:00
Sam Lantinga
90034b16dc The keycode in key events is affected by modifiers by default.
This behavior can be customized with SDL_HINT_KEYCODE_OPTIONS.
2024-06-22 00:19:06 -07:00
SDL Wiki Bot
1e81424b3d Sync SDL3 wiki -> header 2024-06-22 05:06:38 +00:00
Sam Lantinga
c9cfa4688e Use unsigned constants for SDL_Keycode values
Fixes https://github.com/libsdl-org/SDL/issues/10020
Closes https://github.com/libsdl-org/SDL/pull/10070
2024-06-21 22:06:08 -07:00
Sam Lantinga
0dd579d40d Removed SDL_Keysym 2024-06-21 22:06:08 -07:00
Sam Lantinga
679e4471ed Added the ability to query the keymap for keycodes based on modifier state 2024-06-21 22:06:08 -07:00
Sam Lantinga
ef9bd8b609 Add the raw platform specific key code to SDL_Keysym
This allows applications to handle keys that SDL doesn't recognize, in a platform dependent way.

Fixes https://github.com/libsdl-org/SDL/issues/6390
2024-06-21 22:06:08 -07:00
Sam Lantinga
9d816c72ef Updated SDL3 scancode list
This adds more app editing and audio control keys and removes keys that launch applications

Work in progress on https://github.com/libsdl-org/SDL/issues/6390
2024-06-21 22:06:08 -07:00
Sam Lantinga
00ab4a8eba Added missing Windows scancodes
Based on the scancode list at https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_code_values, which is correct for all other scancodes
2024-06-21 22:06:08 -07:00
Sam Lantinga
306c4164bc Added SDL_AllocateEventString() 2024-06-21 22:06:08 -07:00
Sam Lantinga
fa5367d379 Enable virtual joystick support for Emscripten 2024-06-21 12:06:53 -07:00
Anonymous Maarten
cf267e4985 Fix -Wunused-variable warning in src/video/x11/SDL_x11events.c 2024-06-21 17:39:37 +02:00