kichikuou and Claude Opus 4.8
dac0345e02
[NOT FOR MERGE] Add opt-in virtual mouse pointer for touch devices
...
Provide a trackpad-style on-screen cursor for touch environments (mainly
Android), where touching the screen previously jumped the pointer to the
touched location (absolute) and SDL hardware cursors are invisible.
When enabled, a finger drag moves an arrow cursor relatively, a tap
left-clicks (held briefly so polling games detect it), two fingers
right-click, and a stationary long press starts a left-button drag. Real
mouse motion is ignored (including the spurious startup (0,0) event), and
program-driven cursor moves are followed via the internal pointer location
instead of warping the OS cursor.
The feature is disabled by default and enabled via the -virtualpointer
command-line option, the virtualpointer profile setting, or the "Virtual
mouse pointer" toggle in the Android launcher (persisted in
SharedPreferences and passed to the engine as -virtualpointer).
The gesture handling lives in event.c and the cursor rendering in the new
platform-independent virtual_pointer module, so it works on any touch
target.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-24 20:29:45 +09:00
..
2026-06-24 20:29:45 +09:00
2020-12-23 14:08:02 +09:00
2026-06-23 17:40:22 +09:00
2026-06-24 16:11:49 +09:00
2026-06-24 20:29:45 +09:00
2025-02-02 10:02:08 +09:00
2025-02-02 10:02:08 +09:00
2025-02-19 13:24:56 +09:00
2025-02-19 13:24:56 +09:00
2025-02-02 13:08:04 +09:00
2025-02-02 13:08:04 +09:00
2025-06-11 09:23:44 +09:00
2025-02-02 13:08:04 +09:00
2025-02-02 13:08:04 +09:00
2025-06-11 09:23:42 +09:00
2025-02-02 10:02:08 +09:00
2025-11-09 11:47:13 +09:00
2025-11-09 11:47:13 +09:00
2025-02-02 09:00:24 +09:00
2025-11-28 10:45:24 +09:00
2025-11-28 10:45:24 +09:00
2025-11-28 10:45:24 +09:00
2025-11-28 10:45:24 +09:00
2026-03-08 10:09:01 +09:00
2026-03-08 10:09:01 +09:00
2026-06-24 20:29:45 +09:00
2024-01-14 11:35:35 +09:00
2025-11-06 09:39:46 +09:00
2025-11-06 09:39:51 +09:00
2025-11-06 09:39:51 +09:00
2025-06-11 09:23:42 +09:00
2025-06-11 09:23:42 +09:00
2025-01-06 14:14:10 +09:00
2025-06-11 09:23:42 +09:00
2025-01-06 14:14:10 +09:00
2025-06-11 09:23:42 +09:00
2025-01-06 14:14:10 +09:00
2025-06-11 09:23:42 +09:00
2025-01-06 14:14:10 +09:00
2025-01-06 14:14:10 +09:00
2025-11-06 11:05:23 +09:00
2025-11-06 09:39:51 +09:00
2025-11-06 09:39:51 +09:00
2014-04-26 18:40:24 +09:00
2025-06-11 09:23:42 +09:00
2026-01-09 08:31:40 +09:00
2025-02-02 22:19:43 +09:00
2025-11-06 09:39:46 +09:00
2025-11-06 09:39:46 +09:00
2025-06-11 09:23:44 +09:00
2025-02-02 10:02:08 +09:00
2025-06-11 10:12:25 +09:00
2026-06-24 16:11:49 +09:00
2025-06-11 10:12:22 +09:00
2025-06-11 10:12:22 +09:00
2025-02-02 10:02:08 +09:00
2025-02-02 10:02:08 +09:00
2025-02-02 10:02:08 +09:00
2025-06-11 10:12:25 +09:00
2025-02-02 10:02:08 +09:00
2025-02-02 10:02:08 +09:00
2025-02-02 10:02:08 +09:00
2025-06-11 09:23:44 +09:00
2025-02-02 10:02:08 +09:00
2025-06-11 09:23:44 +09:00
2026-06-24 16:11:49 +09:00
2025-06-11 10:12:25 +09:00
2025-06-11 09:23:44 +09:00
2025-06-11 09:23:44 +09:00
2026-06-24 20:29:45 +09:00
2026-06-24 20:29:45 +09:00
2026-01-09 08:31:40 +09:00
2025-11-06 11:05:23 +09:00
2025-06-10 15:00:27 +09:00
2026-06-24 16:11:49 +09:00
2026-06-24 16:11:49 +09:00
2024-04-10 14:37:21 +09:00
2026-03-15 11:13:08 +09:00
2025-02-02 10:02:08 +09:00
2026-06-24 20:29:45 +09:00
2025-06-11 09:23:42 +09:00
2025-06-11 10:12:25 +09:00
2025-06-11 10:12:25 +09:00
2026-06-24 16:11:49 +09:00
2025-04-21 09:43:01 +09:00
2025-04-21 09:43:01 +09:00
2020-10-11 15:07:43 +09:00
2022-10-29 09:34:21 +09:00
2022-10-29 09:34:21 +09:00
2025-06-11 09:22:36 +09:00
2025-02-19 13:24:56 +09:00
2026-01-09 16:16:13 +09:00
2026-01-09 16:16:13 +09:00
2025-05-29 08:39:59 +09:00
2025-02-02 10:02:08 +09:00
2023-01-21 17:22:24 +09:00
2025-03-06 08:00:50 +09:00
2025-02-02 10:02:08 +09:00
2025-02-02 10:02:08 +09:00
2025-02-02 10:02:08 +09:00
2025-02-02 10:02:08 +09:00
2025-02-02 10:02:08 +09:00
2025-01-08 11:24:49 +09:00
2025-06-11 10:12:25 +09:00
2026-05-03 16:37:28 +09:00
2025-02-02 10:02:08 +09:00
2026-06-24 16:11:49 +09:00
2025-06-11 09:23:42 +09:00
2025-02-02 12:49:39 +09:00
2025-02-02 12:49:39 +09:00
2025-02-02 12:49:39 +09:00
2025-02-02 12:49:39 +09:00
2025-02-02 12:49:39 +09:00
2025-02-02 12:49:39 +09:00
2025-02-02 12:49:39 +09:00
2025-02-02 12:49:39 +09:00
2025-06-20 08:11:35 +09:00
2020-12-26 09:20:46 +09:00
2021-11-13 12:51:14 +09:00
2021-11-13 12:51:14 +09:00
2025-02-02 10:02:08 +09:00
2025-02-02 10:02:08 +09:00
2024-01-27 09:08:31 +09:00
2025-11-28 10:45:24 +09:00
2025-02-02 22:19:43 +09:00
2025-02-02 22:19:43 +09:00
2025-02-02 22:19:43 +09:00
2025-02-02 13:52:54 +09:00
2025-02-02 10:02:08 +09:00
2025-02-02 22:19:43 +09:00
2025-02-02 22:19:43 +09:00
2025-06-11 09:22:36 +09:00
2025-06-11 09:23:42 +09:00
2025-05-29 08:39:59 +09:00
2014-04-26 18:40:24 +09:00
2014-04-26 18:40:24 +09:00
2025-02-02 13:52:54 +09:00
2025-06-11 09:23:44 +09:00
2025-06-11 09:23:42 +09:00
2025-02-02 10:02:08 +09:00
2025-06-20 08:11:35 +09:00
2025-02-02 10:02:08 +09:00
2024-01-18 10:16:54 +09:00
2025-02-02 10:02:08 +09:00
2025-02-02 10:02:08 +09:00
2014-04-26 18:40:24 +09:00
2020-05-10 22:26:04 +09:00
2025-02-02 22:33:56 +09:00
2025-02-02 22:33:56 +09:00
2025-02-02 22:33:56 +09:00
2025-02-02 22:33:56 +09:00
2025-02-25 21:45:11 +09:00
2025-02-02 22:33:56 +09:00
2025-02-02 10:02:08 +09:00
2025-02-02 10:02:08 +09:00
2025-06-11 09:23:44 +09:00
2025-01-07 16:16:01 +09:00
2026-06-24 16:11:49 +09:00
2025-02-02 10:02:08 +09:00
2020-07-24 15:42:48 +09:00
2025-06-11 10:12:25 +09:00
2025-06-11 09:23:44 +09:00
2025-02-22 14:37:15 +09:00
2024-12-06 09:24:08 +09:00
2020-07-24 12:46:14 +09:00
2025-02-02 10:02:08 +09:00
2025-02-02 10:02:08 +09:00
2023-02-20 17:39:21 +09:00
2025-02-02 10:02:08 +09:00
2026-06-24 20:29:45 +09:00
2026-06-24 20:29:45 +09:00
2025-06-11 09:23:42 +09:00
2025-02-02 10:02:08 +09:00
2025-02-21 09:14:02 +09:00
2025-02-21 09:14:02 +09:00
2025-02-02 10:02:08 +09:00
2026-06-24 20:29:45 +09:00
2021-10-31 21:53:38 +09:00