aboutsummaryrefslogtreecommitdiff
path: root/backend/libinput
AgeCommit message (Collapse)Author
2018-12-21Add unaccelerated pointer values to wlr_event_pointer_motion eventsAlex Maese
2018-12-15[WIP][DONTMERGE]Add support for libinput_switch input devicesRyan Walklin
These are used primarily by laptops to signal the state of the lid (open/closed) and tablet mode if supported, based on ACPI events.
2018-09-18backend/libinput: add assertionsemersion
2018-08-31Fix bugs listed by clang's static analyzerrandom human
A few pedantic changes and unused variables (1-4), and genuine bugs (5, 6). The reports with the corresponding files and lines numbers are as follows. 1. backend/libinput/tablet_pad.c@31,44,57 "Allocator sizeof operand mismatch" "Result of 'calloc' is converted to a pointer of type 'unsigned int', which is incompatible with sizeof operand type 'int'" 2. types/tablet_v2/wlr_tablet_v2_pad.c@371 "Allocator sizeof operand mismatch" "Result of 'calloc' is converted to a pointer of type 'uint32_t', which is incompatible with sizeof operand type 'int'" 3. types/wlr_cursor.c@335 "Dead initialization" "Value stored to 'dx'/'dy' during its initialization is never read" 4. rootston/xdg_shell.c@510 "Dead initialization" "Value stored to 'desktop' during its initialization is never read" 5. types/tablet_v2/wlr_tablet_v2_pad.c@475 "Dereference of null pointer" "Access to field 'strips' results in a dereference of a null pointer (loaded from field 'current_client')" The boolean logic was incorrect (c.f. the check in the following function). 6. examples/idle.c@163,174,182 "Uninitialized argument value" "1st function call argument is an uninitialized value" If close_timeout != 0, but simulate_activity_timeout >= close_timeout, the program would segfault at pthread_cancel(t1).
2018-07-14Remove last remnant of tool_tool in libinputMarkus Ongyerth
2018-07-14rename wlr_tablet_tool to wlr_tabletMarkus Ongyerth
The previous naming was based on the input-device capability names from libinput. With code that uses the libinput_tablet_tool and mapping into tablet-v2, this is confusing, so the name is changed to follow the names used in the protocol.
2018-07-14Handle relative motion for mouse toolsMarkus Ongyerth
2018-07-14Add asserts and rename destroy function in libinput backendMarkus Ongyerth
2018-07-14Use wlr_list for paths, and improve inert resource handlingMarkus Ongyerth
2018-07-14Use tablet_tool impl in libinput backendMarkus Ongyerth
2018-07-141st feedback passMarkus Ongyerth
Rename make_ functions to _create Implement set_cursor and set_feedback
2018-07-14Fix borked rebaseMarkus Ongyerth
2018-07-14Add tool buttonsMarkus Ongyerth
2018-07-14Propagate most axis events to clientsMarkus Ongyerth
2018-07-14Implement basic tablet_pad handling (bound to keyboard focus)Markus Ongyerth
2018-07-14Basic tablet_v2 object lifetimeMarkus Ongyerth
2018-07-14storage commit #2Markus Ongyerth
2018-07-14backend/libinput: Manage tablet tool livetimesMarkus Ongyerth
This adds the management code to manage tablet tools lifetimes from libinput. It follows the suggestion made in the tablet-unstable-v2.xml to destroy tablet_tools once all tablets that it got into contact with were removed from the system. This is implemented via a refcount. If a tool is *not* unique, it will be destroyed on proximity out. This is libinput specific and mentioned in libinput docs that tools will not be found again, so we shouldn't keep a reference to them. Also they can't be on other tablets as well, because they cannot be tracked. The naming in this commit is a bit off (to not break things). The wlr names stay the same, tablet_tool is the libinput_device with capaiblity LIBINPUT_DEVICE_CAP_TABLET_TOOL which is more akin to "tablet" in the tablet-unstable-v2 protocol. The struct that corresponds to the tablet_tool in tablet-unstable-v2 is called tablet_tool_tool, a rename should be done at some point in the future.
2018-07-09util: add wlr_ prefix to log symbolsemersion
2018-06-14Multiseat fixesScott Anderson
2018-05-12Add support for discrete axis valuesemersion
2018-05-03Fix typos in comments and stringsmorganamilo
2018-04-29input-device: add output_name field, populate it from libinputemersion
2018-04-28backend/headless: remove useless destructoremersion
2018-04-25Don't use the wlr_ prefix for static functionsemersion
2018-04-25Make sure we don't use others' prefixesemersion
2018-04-25Remove wlr_ prefix from local symbolsemersion
2018-04-03Implement input inhibit in rootstonDrew DeVault
2018-03-28Remove width_mm from tablet eventsDrew DeVault
2018-03-28Remove width_mm from wlr_touch eventsDrew DeVault
2018-03-28Remove width_mm from wlr_pointer eventsDrew DeVault
2018-03-07Add mode support to libinput backendDrew DeVault
And extend tablet example with tilt and ring support
2018-03-06Add const to x11 and input interfacesScott Anderson
2018-02-25Fix null deref in wlr_libinput_backend_destroyDan Robertson
If input_event is null (e.g. if backend_start has not been called yet) wl_event_source_remove will result in a null deref.
2018-02-19Revert "ELF Visibility"Drew DeVault
2018-02-19Explicitly export EFL symbolsScott Anderson
2018-02-19Remove usec_to_msec from public APIScott Anderson
2018-02-12Reformat all #include directivesemersion
2018-02-12Make wlr_signal_emit_safe privateemersion
2018-02-12Remove wlr_backend.events.{output_remove,device_remove}emersion
2018-02-12Add wlr_signal_emit_safeemersion
2018-01-30backend: fix use-after-free when destroying backendsemersion
The backend destroy signal is emitted before the output_remove signal is. When the destroy signal is emitted listeners remove their output_remove listener, so the output_remove signal is never received and listeners have an invalid output pointer. The correct way to solve this would be to remove the output_remove signal completely and use the wlr_output.events.destroy signal instead. This isn't yet possible because wl_signal_emit is unsafe and listeners cannot be removed in listeners.
2017-12-19libinput backend: add wlr_input_device_is_libinputDominique Martinet
2017-12-07Listen to display destroy in backendsemersion
2017-11-19Refactor wlr_list inside wlrootsemersion
2017-11-16rename touch slot to touch idTony Crisci
2017-11-16Fix a bunch of mistakes detected with scan-buildemersion
2017-11-04Improve input sensitivityDrew DeVault
We now use doubles until the last minute, which makes it so we can move the pointer more precisely. This also includes a fix for tablet tools, which move absolutely and sometimes do not update the X or Y axis.
2017-11-01libinput backend destroy: fix small leakDominique Martinet
2017-11-01Indentation fixDominique Martinet
Some space sneaked in. tabtabtab.