ec35e7198d
Add replies, which use standard X error values, to the two currently-supported input configuration requests. Document the D-BUS API we use. Make sure we free everything when we encounter an error. Add a _source option to all incoming requests, noting that it came from a client. Reject all requests to add a device where an option name contains an underscore.
36 lines
1.4 KiB
Plaintext
36 lines
1.4 KiB
Plaintext
D-BUS Configuration API v0.1
|
|
----------------------------
|
|
|
|
The X server will register the bus name org.x.config.displayN, and the
|
|
object /org/x/config/N, where N is the display number.
|
|
|
|
Currently only hotplugging of input devices is supported.
|
|
|
|
org.x.config.input:
|
|
org.x.config.input.add:
|
|
Takes an argument of key/value option pairs in arrays, e.g.:
|
|
[ss][ss][ss][ss]
|
|
is the signature for four options. These options will be passed
|
|
to the input driver as with any others.
|
|
Option names beginning with _ are not allowed; they are reserved
|
|
for internal use.
|
|
|
|
Returns one int32, which is an X Status, as defined in X.h. If
|
|
everything is successful, Success will be returned. BadMatch will
|
|
be returned if the options given do not match any device. BadValue
|
|
is returned for a malformed message.
|
|
|
|
Notably, BadAlloc is never returned: the server internally signals
|
|
to D-BUS that the attempt failed for lack of memory.
|
|
|
|
The return does not notify the client of which devices were created
|
|
or modified as a result of this request: clients are encouraged to
|
|
listen for the XInput DevicePresenceNotify event to monitor changes
|
|
in the device list.
|
|
|
|
org.x.config.input.remove:
|
|
Takes one int32 argument, which is the device ID to remove, i.e.:
|
|
i
|
|
is the signature.
|
|
Same return values as org.x.config.input.add.
|