-
Notifications
You must be signed in to change notification settings - Fork 75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
xinput extension not supported #33
Comments
XInput is an extremely complicated extension. No code is generated for it because it is not supported. I don't have any plans to add it, but would accept a PR that does it. |
On Mon, Jan 4, 2016 at 8:00 PM, Andrew Gallant [email protected]
Looking at the code, the problem seems to be with union types (the switch Thanks |
I honestly can't remember the exact details. I wrote |
On Mon, Jan 4, 2016 at 8:20 PM, Andrew Gallant [email protected]
Ok. Thanks. |
It does successfully produce a file with xcb-proto 1.8 which, going by the diff, only supports an older version of the protocol (1.0 vs 2.3), i.e. some interfaces would be missing. As a side-note, xgb as it is now seems to be generated from xcb-proto 1.11. This doesn't seem to be stated anywhere. xcb-proto 1.12 successfully updates randr (lots of useful stuff, only suspicious changes to CrtcTransform requests), shm (meh), xfixes (suspicious), xprint (very suspicious), xselinux (meh), xv (meh). That is, with little risk one could put together a 1.11 + 1.8 (xinput) + 1.12 (randr) Frankenstein combo with the existing xcbgen, given that it looks like #38 won't be merged. Edit: 1.12 randr actually miscompiles because of SetMonitor, with the following fix:
|
I need XInput support and since it is not available I updated the Makefile to process xinput.xml file.
Unfortunately xgbgen panics:
xgbgen/xgbgen --proto-path /usr/share/xcb /usr/share/xcb/xinput.xml > xinput/xinput.go
panic: it is illegal to call SrcName on a SwitchField field
goroutine 1 [running]:
runtime.gopanic(0x581fa0, 0xc820453bf0)
/usr/lib/go/src/runtime/panic.go:461 +0x3e6 fp=0xc820583638 sp=0xc8205835b8
main.(_SwitchField).SrcName(0xc820478800, 0x0, 0x0)
/home/manlio/.local/lib/go/src/github.com/BurntSushi/xgb/xgbgen/field.go:297 +0x71 fp=0xc820583678 sp=0xc820583638
main.(_Request).ParamNameTypes(0xc820087e00, 0x0, 0x0)
/home/manlio/.local/lib/go/src/github.com/BurntSushi/xgb/xgbgen/go_request_reply.go:238 +0x7da fp=0xc820583808 sp=0xc820583678
main.(_Request).Define(0xc820087e00, 0xc82000e640)
/home/manlio/.local/lib/go/src/github.com/BurntSushi/xgb/xgbgen/go_request_reply.go:46 +0x168c fp=0xc820583b48 sp=0xc820583808
main.(_Context).Morph(0xc82000e640, 0xc8200a6000, 0x14f74, 0x15174)
/home/manlio/.local/lib/go/src/github.com/BurntSushi/xgb/xgbgen/context.go:152 +0x18a1 fp=0xc820583dd0 sp=0xc820583b48
main.main()
/home/manlio/.local/lib/go/src/github.com/BurntSushi/xgb/xgbgen/main.go:50 +0x35b fp=0xc820583f40 sp=0xc820583dd0
runtime.main()
/usr/lib/go/src/runtime/proc.go:111 +0x2b0 fp=0xc820583f90 sp=0xc820583f40
runtime.goexit()
/usr/lib/go/src/runtime/asm_amd64.s:1721 +0x1 fp=0xc820583f98 sp=0xc820583f90
Thanks.
The text was updated successfully, but these errors were encountered: