| #
2eda485b |
|
21-Jun-2025 |
tsutsui <tsutsui@NetBSD.org> |
No need to check if the device is enabled in event handler functions. These event handlers are activated by SetNotifyFd() only after DXX deviceProc() functions are called with DEVICE_ON from DIX EnableDevice() function. |
| #
8931864a |
|
21-Jun-2025 |
tsutsui <tsutsui@NetBSD.org> |
Add a static function declaration in sunMouse.c. |
| #
e83940e6 |
|
21-Jun-2025 |
tsutsui <tsutsui@NetBSD.org> |
Allocate keyboard and mouse event buffers in the device private structures. Also simplify GetEvents functions. Tested on Sun 3/60 with bwtwo. |
| #
2da8aa69 |
|
21-Jun-2025 |
tsutsui <tsutsui@NetBSD.org> |
Refactor sunPtrPrivRec in sunMouse.c to make it really private. The mouse device is now opened and sunPtrPrivRec is allocated within the DEVICE_INIT phase of sunMouseProc(). DEVICE_OFF and DEVICE_CLOSE operations are also adjusted accordingly. Tested on Sun 3/60. |
| #
48c4760e |
|
21-Jun-2025 |
tsutsui <tsutsui@NetBSD.org> |
Reduce global references to sunPtrPriv, as sunKbd.c does. |
| #
177290df |
|
21-Jun-2025 |
tsutsui <tsutsui@NetBSD.org> |
Refactor Xsun input device handling to remove SIGIO based event processing. The keyboard and pointer input events are now processed directly using fd event notifications registered via DIX SetNotifyFd(), instead of the legacy SIGIO-based asynchronous I/O. This refactoring improves the maintainability and portability of the code by aligning with modern Xorg server practices. Tested on Sun 3/60 with bwtwo, Type-4 keyboard and mouse. |
| #
d8389a6e |
|
17-Jun-2025 |
tsutsui <tsutsui@NetBSD.org> |
Initialize DDX pointer valuators consistently with other drivers/servers. This may not be strictly necessary, since InitValuatorAxisStruct() for all axes is also called from the DIX InitPointerDeviceStruct() via InitValuatorClassDeviceStruct() with default values. However, for future X.Org updates, it is beneficial to keep the DIX-DDX interface implementation in MouseProc's DEVICE_INIT operation consistent with the official xf86-input-mouse driver, xquartz DDX server, and others. |
| #
1406604b |
|
17-Jun-2025 |
tsutsui <tsutsui@NetBSD.org> |
Properly apply DIX locking to input events in NetBSD-specific DDX servers. This thread-based DIX locking approach using input_lock() and input_unlock() has been available since X.Org 1.19.0: https://gitlab.freedesktop.org/xorg/xserver/-/commit/30ac7567980a1eb79d084a63e0e74e1d9a3af673 All xfree86 DDX implementations have switched to using these new DIX locks instead of the old OsBlockSIGIO() / OsReleaseSIGIO() methods: https://gitlab.freedesktop.org/xorg/xserver/-/commit/6a5a4e60373c1386b311b2a8bb666c32d68a9d99 The xquartz DDX (an official X.Org server implementation) also uses these locks for input events: https://gitlab.freedesktop.org/xorg/xserver/-/commit/7d6ebf3f4e4d517bb846d15a5deb131da19a267c This should resolve occasional SIGSEGVs in the Xsun server caused by NULL pointer dereferences around the event queue handlers under heavy load. Should be pulled up to netbsd-10. |
| #
2aa2a51f |
|
17-Mar-2021 |
tsutsui <tsutsui@NetBSD.org> |
Fixes "FatalError re-entered, aborting" error when Xservers get SIGSEGV. Handle a new DEVICE_ABORT mode perperly in deviceProc funtions. Also don't exit via FatalError() on an unknown mode because it looks upstream assumes DDX deviceProc functions don't treat it fatal: https://gitlab.freedesktop.org/xorg/xserver/-/commit/9f79e93b6b3416055d08a0e8f9f16d5fd0649e36 |
| #
9c576acf |
|
11-Mar-2021 |
tsutsui <tsutsui@NetBSD.org> |
ErrorF() doesn't append newlines at the end of messages. |
| #
19d1127d |
|
21-Nov-2020 |
tsutsui <tsutsui@NetBSD.org> |
valuator_mask_zero() is enough for mouse button events. |
| #
9679a91b |
|
13-Aug-2020 |
tsutsui <tsutsui@NetBSD.org> |
Avoid dumb DevicePtr casts. |
| #
ee7c6486 |
|
22-Jul-2020 |
tsutsui <tsutsui@NetBSD.org> |
Import WIP Xorg-Server-1.20'fied monolithic Xsun servers. This is based on 1.10 version imported into xorg-server.old and all upstream API changes between xorg-server 1.10 and 1.20 are applied almost mechanically. https://github.com/tsutsui/xorg-server-Xsun/commits/xorg-server-1.20 Xsun and XsunMono servers are also confirmed working with bwtwo on 3/60 and tme, and cgtwo on tme. XKB stuff is still to be resolved. |