Drew DeVault
beb84940cf
Improve no device detection support
2017-08-16 07:24:46 -04:00
Drew DeVault
3ac10a81bd
Merge pull request #94 from martinetd/libinput_no_device
...
libinput: fail if no input found on init
2017-08-16 07:22:36 -04:00
Calvin Lee
901c14c409
Prevent alloc errors from crashing in list_t
...
This commit changes the `list_t` api so that alloc errors can be
detected and worked around. Also fixes errors not found in 5cc7342
2017-08-16 09:23:21 +02:00
Dominique Martinet
880c239657
libinput: fail if no input found on init
...
This runs through events pending at init on initialization so we can
tell if some devices are available.
Note that with the way wlr_device_lists is managed, this checks that
there is at least one device we handle - it doesn't have to be a
keyboard, but there is at least a mouse or tablet_pad or something
that we care about.
Instead of failing inconditionally it might be better to leave the
decision to the user, e.g. add a "backend_has_devices" function to
call later.
(Tested by moving /dev/input off)
Fixes #24 .
2017-08-16 09:18:12 +02:00
Drew DeVault
27c13d621d
Merge pull request #88 from 4e554c4c/alloc_crashing
...
Prevent alloc errors from crashing
2017-08-15 12:21:58 -04:00
Calvin Lee
5cc7342606
Prevent alloc errors from crashing
...
Resolves #76
2017-08-15 08:04:57 +02:00
nyorain
f998bb8299
Fix style issues
2017-08-14 17:09:56 +02:00
Dominique Martinet
ba20d5b3ca
Refactor out wlr_touch_state
2017-08-14 16:22:31 +02:00
Dominique Martinet
bd67849c03
Refactor out wlr_tablet_tool_state
2017-08-14 16:22:31 +02:00
Dominique Martinet
a289940bff
Refactor out wlr_tablet_pad_state
2017-08-14 16:22:31 +02:00
Dominique Martinet
53e7bebd23
Refactor out wlr_pointer_state
2017-08-14 16:22:31 +02:00
Dominique Martinet
0a3246ad97
Refactor out wlr_keyboard_state
2017-08-14 16:22:31 +02:00
Dominique Martinet
e6ad67911b
Refactor out wlr_input_device_state
2017-08-14 16:22:31 +02:00
Calvin Lee
de66bdb867
Add backend detection functions
...
Resolves #80
2017-08-13 23:08:33 +02:00
Drew DeVault
4386816889
wlr_backend_init -> wlr_backend_start
...
Also renames create to init. We'll use create for anything that
allocates and init for anything that takes a pointer and initializes it.
2017-08-13 10:19:57 -04:00
Dominique Martinet
5c82d2f5c3
libinput backend: massive renaming
...
- 'libinput' (backend's) to libinput_context
- 'device' (libinput_device) to libinput_dev
- 'dev' (wlr_device) to wlr_dev
- 'devices' lists tangling of libinput devices to wlr_devices
- 'devices' list of wlr_devices in backend state to wlr_device_lists
2017-08-13 08:18:05 +02:00
Dominique Martinet
08a2afdf6f
libinput backend: match logging for removal and add
...
Only log removal of devices once, but also log it for devices
that we do not care about.
2017-08-13 08:09:11 +02:00
Dominique Martinet
701e147b9b
libinput: remove useless get_context call
...
That function is literally just "return event->device->seat->libinput"
We do not use context, so do not fetch it.
2017-08-13 08:07:44 +02:00
Drew DeVault
60d1131df2
Re-enable backend autoselection
2017-08-12 19:56:55 -04:00
Drew DeVault
c95a108d2f
Update libinput backend with new state design
2017-08-12 13:51:47 -04:00
Dominique Martinet
3e2cb5b5cf
libinput: fix segfault when handling non-wlr device removal
2017-08-12 15:13:29 +02:00
Dominique Martinet
de86965174
Use libinput_event_destroy/xkb_*_unref
...
Also sneak in a missing drmModeFreePlaneResources
2017-08-12 00:11:18 +02:00
Dominique Martinet
e1293a7853
libinput: signal input remove on libinput backend destroy
...
This lets the upper crust cleanup and free their own states
2017-08-12 00:11:18 +02:00
Dominique Martinet
be3a0ad065
libinput backend: fill in handle_device_removed
...
And fix input_remove_notify accordingly
2017-08-12 00:11:18 +02:00
Dominique Martinet
c42674bc25
Fix libinput destroy for devices with multiple capabilities
2017-08-11 21:02:40 +02:00
Dominique Martinet
0354aaeff2
Complete a few destroy functions
...
This adds missing free calls for:
- drm outputs
- libinput backend in general
- final udev free
- output mode state
2017-08-11 19:17:03 +02:00
Dominique Martinet
0663b6d1e1
Build libinput events on the stack instead of allocating
2017-08-11 18:38:27 +02:00
Scott Anderson
cb4d50e22c
Changed header paths.
2017-08-06 13:25:26 +12:00
Drew DeVault
3d71969b2a
Make event names consistent
2017-06-21 14:07:09 -04:00
Drew DeVault
f4453d104d
Reorganize wlr-common
2017-06-21 12:10:07 -04:00
Drew DeVault
fd91244e83
Update everyone to use new headers
2017-06-21 10:27:45 -04:00
Scott Anderson
55854565dc
Fixed VT switching
2017-06-21 13:31:29 +12:00
Drew DeVault
632a04f1b7
Implement keyboard LEDs
2017-06-19 15:15:37 -04:00
Drew DeVault
ecb04afcad
Implement tablet pads
2017-06-19 14:49:07 -04:00
Drew DeVault
def3d7c64f
Add tablet example
2017-06-15 16:15:12 -04:00
Drew DeVault
4a9966b1a4
Implement wlr_tablet_tool
2017-06-15 14:32:53 -04:00
Drew DeVault
3f24f8a1be
Flesh out touch events and add demo
2017-06-14 14:50:09 -04:00
Drew DeVault
d6905f86cb
Allocate wlr_touch devices
2017-06-14 11:40:03 -04:00
Drew DeVault
a63230e59c
Implement libinput wlr_pointer
2017-06-13 11:05:45 -04:00
Drew DeVault
5dd96c0772
Incorporate XKBCommon into example
2017-06-13 08:10:36 -04:00
Drew DeVault
508d135de7
Only allocate device state when it will be used
...
This design also avoids double frees in the future when we're creating
several wlr_input_devices from one libinput_device.
2017-06-13 08:10:36 -04:00
Drew DeVault
7a5f35b5bb
Reassign ownership of libinput handle
2017-06-13 08:10:36 -04:00
Drew DeVault
f479b7c8c7
Split keyboard code out into its own file
2017-06-13 08:10:36 -04:00
Drew DeVault
59ceaf507e
Handle key presses
2017-06-13 08:10:36 -04:00
Drew DeVault
0e75d157f5
Initialize keyboards from libinput
2017-06-13 08:10:36 -04:00
Drew DeVault
019fff06be
Fix issues, flesh out event handling somewhat
2017-06-13 08:10:36 -04:00
Drew DeVault
af69591e62
Add error handling and init in backend_autocreate
2017-06-13 08:10:36 -04:00
Drew DeVault
1262f1400c
Initial pass on libinput backend
2017-06-13 08:10:22 -04:00