Skip to content

Instantly share code, notes, and snippets.

@tsutsui
Last active August 29, 2015 13:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tsutsui/9168939 to your computer and use it in GitHub Desktop.
Save tsutsui/9168939 to your computer and use it in GitHub Desktop.
dumb tips on porting old style XFree based X68k server for NetBSD/x68k to build under X11R7 tree
x68kFb.c, x68kGraph.c, x68kText.c:
- AllocateScreenPrivateIndex() has been removed and should be replaced with dixRegisterPrivateKey()
- private stuff needs to be handled by dixSetPrivate() and dixLookupPrivate()
- mfb* and cfb* ops have been merged into fb* or mi* ops with depth
x68kInit.c:
- OsVendorPreInit() has been removed
- AddInputDevice() requires "serverClient" arg and mieqInit() no longer takes pointer and keyboard info
- RegisterPointerDevice() and RegisterKeyboardDevice() have been removed
- CloseInput() is now required
- DPMS stuff has been moved into common Xext/dpmsstubs.c
x68kIo.c:
- miPointerUpdate() now requires a device arg
- no need to call miPointerUpdate() in ProcessInputEvents() (mieqProcessInputEvents() handles it)
- LookupPointerDevice() and LookupKeyboardDevice() have been removed
- per xorg repo inputInfo.pointer and inputInfo.keyboard seem replacements
http://cgit.freedesktop.org/xorg/xserver/commit/?id=8b548657204000e18c7a38706a0071ae2f93159f
but they don't work here so X68kIo.c uses global variables to store them
x68kKbd.c
- InitKeyboardDeviceStruct() no longer takes keymap info
- xkb requires XkbRMLVOSet instead of XkbComponetNamesRec
XXX: currently keycodes in xkb dir doesn't work well so keymaps are registered by XkbApplyMappingChange()
- keyboard event handling ops by mieqEnqueue() have been reorganized
- DDXRingBell() is now required
x68kMouse.c
- InitPointerDeviceStruct() requires bottun and axes labels
- mouse acceleration is handled in MI dix
- pointer event handling ops by mieqEnqueue() have been reorganized
- miPointerWarpCursor() requires a new device arg
Makefile
- X68k binary is built in hw/netbsd/x68k dir directly (instead of MD lib)
- needs more libraries
- serveral common sources are required
Most changes are taken from hw/xnest.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment