Commit Graph

45 Commits

Author SHA1 Message Date
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
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