| a3cee91a |
24-Jun-2025 |
tsutsui <tsutsui@NetBSD.org> |
Register XFree86 DDX specific "XFree86_VT" Atom to appease xinit(1). |
| 381f08b9 |
24-Jun-2025 |
tsutsui <tsutsui@NetBSD.org> |
Make sure to initialize default XKB rules earlier for Core Keyboard. |
| f8338865 |
21-Jun-2025 |
tsutsui <tsutsui@NetBSD.org> |
Make sure the keyboard device is actually enabled in DDXRingBell(). Also use consistent variable names for readability. |
| 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. |
| 685bea66 |
21-Jun-2025 |
tsutsui <tsutsui@NetBSD.org> |
Remove unused variables. |
| 8931864a |
21-Jun-2025 |
tsutsui <tsutsui@NetBSD.org> |
Add a static function declaration in sunMouse.c. |
| 7ec0c9b9 |
21-Jun-2025 |
tsutsui <tsutsui@NetBSD.org> |
Add and sort static function declarations in sunKbd.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. |
| c38b1532 |
21-Jun-2025 |
tsutsui <tsutsui@NetBSD.org> |
Replace old FNDELAY for fcntl(2) with O_NONBLOCK defined in POSIX. |
| 32b6075a |
21-Jun-2025 |
tsutsui <tsutsui@NetBSD.org> |
Also Refactor sunKbdPrivRec in sunKbd.c to make it private. Now the keyboard device is opened and sunKbdPrivRec is dynamically allocated within the DEVICE_INIT phase of sunKbdProc(). DEVICE_OFF and DEVICE_CLOSE operations are also adjusted accordingly. Tested on Sun 3/60. |
| 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. |
| 357cbbce |
16-Jul-2022 |
tsutsui <tsutsui@NetBSD.org> |
Merge AbortDDX() into ddxGiveUp() as other upstream DDX servers. https://gitlab.freedesktop.org/xorg/xserver/-/commit/a23eba2a91024d27da45e5aee1f4215f7ec2ae82 > These are so close to identical that most DDXes implement one in terms > of the other. All the relevant cases can be distinguished by the error > code, so merge the functions together to make things simpler. |
| 6b007147 |
15-Jul-2022 |
mrg <mrg@NetBSD.org> |
couple of changes needed for xorg-server 21.1.4. - AbortDDX() is removed, make it static to avoid code churn since it is used by internal code now - LegalModifier() is gone - if the PRESENT extension isn't included, don't enable the -fakescreenfps option since it require PRESENT. fixes builds for sun3 and x68k. |
| 5ab83d5b |
15-Oct-2021 |
tsutsui <tsutsui@NetBSD.org> |
Handle restoring keyboard state via AbortDevices() rather than AbortDDX(). Tested on 3/60. Note AbortDevices() and DEVICE_ABORT in deviceProc functions were introduced after Xorg 1.14.0: https://gitlab.freedesktop.org/xorg/xserver/-/commit/9f79e93b6b3416055d08a0e8f9f16d5fd0649e36 |
| 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 |
| 8e6ade5b |
11-Mar-2021 |
tsutsui <tsutsui@NetBSD.org> |
Avoid polluting console on non-fatal errors. |
| 9c576acf |
11-Mar-2021 |
tsutsui <tsutsui@NetBSD.org> |
ErrorF() doesn't append newlines at the end of messages. |
| 09f8ca91 |
08-Dec-2020 |
mrg <mrg@NetBSD.org> |
add dummy ddxInputThreadInit() if INPUTTHREAD is defined. fixes sun3 build and should fix x68k build too. |
| 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. |
| aa86acb5 |
11-Aug-2020 |
tsutsui <tsutsui@NetBSD.org> |
Remove more redundant command option arg checks. |
| a401fbd7 |
09-Aug-2020 |
tsutsui <tsutsui@NetBSD.org> |
Put probed framebuffer info to a log file by default. |
| c46e3e8e |
09-Aug-2020 |
tsutsui <tsutsui@NetBSD.org> |
Remove redundant command option arg checks. |
| 99d8145c |
09-Aug-2020 |
tsutsui <tsutsui@NetBSD.org> |
Remove a leftover variable for non-XKB autorepeat. |
| 64ca0c98 |
09-Aug-2020 |
tsutsui <tsutsui@NetBSD.org> |
Inform detected keyboard type and layout via LogMessage(). |
| 1f29ee3a |
04-Aug-2020 |
tsutsui <tsutsui@NetBSD.org> |
Call LogInit() for logging to /var/log/Xsun.%s.log as Xorg server. |
| 0ea8fa60 |
01-Aug-2020 |
tsutsui <tsutsui@NetBSD.org> |
Trailing whitespace. |
| eec3c82f |
01-Aug-2020 |
tsutsui <tsutsui@NetBSD.org> |
Use "empty" for rmlvo model and layout to avoid lingering default settings. Now all modifier keys (CTRL, SHIFT, and NumLock) work as expected. It seems XkbApplyMappingChange() doesn't update some XKB modifier settings even if new modmap data is specified. |
| 83a24582 |
30-Jul-2020 |
tsutsui <tsutsui@NetBSD.org> |
Remove now unused ModMap data for each keyboard. |
| b6209069 |
30-Jul-2020 |
tsutsui <tsutsui@NetBSD.org> |
Initialize ModMap dynamically using keymap data per each keyboard. Now ScrollLock LED works properly. |
| a740dc46 |
29-Jul-2020 |
tsutsui <tsutsui@NetBSD.org> |
Remove unused functions required to handle non-XKB autorepeat. |
| 2f5704f8 |
29-Jul-2020 |
tsutsui <tsutsui@NetBSD.org> |
Fix LED defintions to match xkb/xkbInit.c. Now CapsLock and NumLock LEDs work correctly. XXX: No ScrollLock LED |
| 1a0e0615 |
26-Jul-2020 |
tsutsui <tsutsui@NetBSD.org> |
Explicitly initialize origColormapValid for readability. |
| 97c02368 |
26-Jul-2020 |
tsutsui <tsutsui@NetBSD.org> |
Implement functions to restore palette settings on exiting Xserver. |
| 89cbd610 |
26-Jul-2020 |
tsutsui <tsutsui@NetBSD.org> |
Add prototype declarations for CG2 functions. |
| 9cee2e5c |
24-Jul-2020 |
tsutsui <tsutsui@NetBSD.org> |
Use proper args for dixLookupResourceByType() to get defcolormap. Botched in mechanical 1.20 updates. |
| 183a9b73 |
24-Jul-2020 |
tsutsui <tsutsui@NetBSD.org> |
Apply upstream "free the EQ allocated memory on shutdown" fixes. This should be updated before 1.20 import: https://cgit.freedesktop.org/xorg/xserver/commit/?id=87d4f90bfcb509471ac9e7886e14a92b33223fd7 |
| 526cfe04 |
23-Jul-2020 |
tsutsui <tsutsui@NetBSD.org> |
Use proper ANSI offsetof(3) to specify framebuffer offset in struct. Fixes build error on sparc64. No binary change on sun3. |
| 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. |