Restored compatibility with recent xkb changes and xorg-server-1.7.
Keys are configured now using scancodes instead of keysyms. Depends on
set keymap; people could write custom layouts.
When axis is in accelerated mode and keyhigh/keylow is set,
the deflection of the axis will be linked to the _percent of time_ the key
will be down. Full deflection will set the key permanently down (old behaviour).
50% deflection will result in the key being 50ms down and 50ms up.
75% deflection will result in the key being 150ms down and 50ms up.
etc.
Minimum interval is 50ms, maximum is 600ms.
It is still required a patch in the X Server sdk to correct some
remaining warnings. Isn't it amazing that <X11/extensions/XKBsrv.h>
and $sdkdir/xkbsrv.h both use the #ifndef _XKBSRV_H_ include guard?
Signed-off-by: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
The correction for make distcheck uses the same solution proposed
for xf86-input-evdev, that uses the new configure option --with-sdkdir.
Signed-off-by: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
Realizing XkbInitKeyboardDeviceStruct has been removed, we do need to use InitKeyboardDeviceStruct.
This breaks custom keymaps on ABI_XINPUT_VERSION >= 5.
Hopefully this can be reimplemented later.
Old: Each axis had an extra valuator, starting with 2 (0 and 1 are pointer movement)
New: Add "valuator" to axis option to give it an extra valuator of range -32768 to 32768.
Default: Off for all axes, since rarely used (and broken anyway right now).
Supplied number of values have to match the numbers of axes/buttons exactly. Fewer values are not accepted
anymore, because the omitted information get lost. That way we ensure that the properties are always complete
when requested by clients.
ConfigureProperty doesn't exist anymore, ChangeProperty has two parameters
less. SetProperty handler must return Status.
Mark all properties as non-deletable.
Having one device for both mouse and keyboard events breaks with MPX and custom keymaps, because the keymap is
copied to the core pointer instead of the core keyboard.
Easiest fix for that is to have two separate input devices. One single instance of the driver will now create
a second input device that has only keyboard capabilities. It shares all the config with the master and will
be removed when the master device is removed.
The creation of this second device is a little hack-ish. I hope things are done right.