mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2025-12-26 00:30:05 +01:00
Move mode control to libinput. This reduces some flexibility on what we can do with modes but makes it a lot easier for anyone to implement modes correctly and have the LEDs apply appropriately, etc. Let's go with the option to make the 95% use-case easy. Note: whether the mode is actually used is up to the caller, e.g. under Windows and OS X the mode only applies to the rings/strips, not the buttons. A tablet pad has 1 or more mode groups, all buttons/ring/strips are assigned to a mode group. That group has a numeric mode index and is hooked to the LEDs. libinput will switch the LEDs accordingly. The mode group is a separate object. This allows for better APIs when it comes to: * checking whether a button/ring/strip is part of a mode group * checking whether a button will trigger a mode transition and in the future potentially: * checking which mode transition will happen * setting which button should change the mode transition * changing what type of mode transition should happen. * moving a button from one mode group to the other This patch adds the basic scaffolding, without any real implementation. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Proofread-by: Yong Bakos <ybakos@humanoriented.com> Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com> Reviewed-by: Carlos Garnacho <carlosg@gnome.org>
276 lines
9.6 KiB
Text
276 lines
9.6 KiB
Text
/* in alphabetical order! */
|
|
|
|
LIBINPUT_0.12.0 {
|
|
global:
|
|
libinput_config_status_to_str;
|
|
libinput_device_config_accel_get_default_speed;
|
|
libinput_device_config_accel_get_speed;
|
|
libinput_device_config_accel_is_available;
|
|
libinput_device_config_accel_set_speed;
|
|
libinput_device_config_calibration_get_default_matrix;
|
|
libinput_device_config_calibration_get_matrix;
|
|
libinput_device_config_calibration_has_matrix;
|
|
libinput_device_config_calibration_set_matrix;
|
|
libinput_device_config_click_get_default_method;
|
|
libinput_device_config_click_get_method;
|
|
libinput_device_config_click_get_methods;
|
|
libinput_device_config_click_set_method;
|
|
libinput_device_config_left_handed_get;
|
|
libinput_device_config_left_handed_get_default;
|
|
libinput_device_config_left_handed_is_available;
|
|
libinput_device_config_left_handed_set;
|
|
libinput_device_config_scroll_get_button;
|
|
libinput_device_config_scroll_get_default_button;
|
|
libinput_device_config_scroll_get_default_method;
|
|
libinput_device_config_scroll_get_default_natural_scroll_enabled;
|
|
libinput_device_config_scroll_get_method;
|
|
libinput_device_config_scroll_get_methods;
|
|
libinput_device_config_scroll_get_natural_scroll_enabled;
|
|
libinput_device_config_scroll_has_natural_scroll;
|
|
libinput_device_config_scroll_set_button;
|
|
libinput_device_config_scroll_set_method;
|
|
libinput_device_config_scroll_set_natural_scroll_enabled;
|
|
libinput_device_config_send_events_get_default_mode;
|
|
libinput_device_config_send_events_get_mode;
|
|
libinput_device_config_send_events_get_modes;
|
|
libinput_device_config_send_events_set_mode;
|
|
libinput_device_config_tap_get_default_enabled;
|
|
libinput_device_config_tap_get_enabled;
|
|
libinput_device_config_tap_get_finger_count;
|
|
libinput_device_config_tap_set_enabled;
|
|
libinput_device_get_context;
|
|
libinput_device_get_device_group;
|
|
libinput_device_get_id_product;
|
|
libinput_device_get_id_vendor;
|
|
libinput_device_get_name;
|
|
libinput_device_get_output_name;
|
|
libinput_device_get_seat;
|
|
libinput_device_get_size;
|
|
libinput_device_get_sysname;
|
|
libinput_device_get_udev_device;
|
|
libinput_device_get_user_data;
|
|
libinput_device_group_get_user_data;
|
|
libinput_device_group_ref;
|
|
libinput_device_group_set_user_data;
|
|
libinput_device_group_unref;
|
|
libinput_device_has_capability;
|
|
libinput_device_led_update;
|
|
libinput_device_pointer_has_button;
|
|
libinput_device_ref;
|
|
libinput_device_set_seat_logical_name;
|
|
libinput_device_set_user_data;
|
|
libinput_device_unref;
|
|
libinput_dispatch;
|
|
libinput_event_destroy;
|
|
libinput_event_device_notify_get_base_event;
|
|
libinput_event_get_context;
|
|
libinput_event_get_device;
|
|
libinput_event_get_device_notify_event;
|
|
libinput_event_get_keyboard_event;
|
|
libinput_event_get_pointer_event;
|
|
libinput_event_get_touch_event;
|
|
libinput_event_get_type;
|
|
libinput_event_keyboard_get_base_event;
|
|
libinput_event_keyboard_get_key;
|
|
libinput_event_keyboard_get_key_state;
|
|
libinput_event_keyboard_get_seat_key_count;
|
|
libinput_event_keyboard_get_time;
|
|
libinput_event_pointer_get_absolute_x;
|
|
libinput_event_pointer_get_absolute_x_transformed;
|
|
libinput_event_pointer_get_absolute_y;
|
|
libinput_event_pointer_get_absolute_y_transformed;
|
|
libinput_event_pointer_get_axis_source;
|
|
libinput_event_pointer_get_axis_value;
|
|
libinput_event_pointer_get_axis_value_discrete;
|
|
libinput_event_pointer_get_base_event;
|
|
libinput_event_pointer_get_button;
|
|
libinput_event_pointer_get_button_state;
|
|
libinput_event_pointer_get_dx;
|
|
libinput_event_pointer_get_dx_unaccelerated;
|
|
libinput_event_pointer_get_dy;
|
|
libinput_event_pointer_get_dy_unaccelerated;
|
|
libinput_event_pointer_get_seat_button_count;
|
|
libinput_event_pointer_get_time;
|
|
libinput_event_pointer_has_axis;
|
|
libinput_event_touch_get_base_event;
|
|
libinput_event_touch_get_seat_slot;
|
|
libinput_event_touch_get_slot;
|
|
libinput_event_touch_get_time;
|
|
libinput_event_touch_get_x;
|
|
libinput_event_touch_get_x_transformed;
|
|
libinput_event_touch_get_y;
|
|
libinput_event_touch_get_y_transformed;
|
|
libinput_get_event;
|
|
libinput_get_fd;
|
|
libinput_get_user_data;
|
|
libinput_log_get_priority;
|
|
libinput_log_set_handler;
|
|
libinput_log_set_priority;
|
|
libinput_next_event_type;
|
|
libinput_path_add_device;
|
|
libinput_path_create_context;
|
|
libinput_path_remove_device;
|
|
libinput_ref;
|
|
libinput_resume;
|
|
libinput_seat_get_context;
|
|
libinput_seat_get_logical_name;
|
|
libinput_seat_get_physical_name;
|
|
libinput_seat_get_user_data;
|
|
libinput_seat_ref;
|
|
libinput_seat_set_user_data;
|
|
libinput_seat_unref;
|
|
libinput_set_user_data;
|
|
libinput_suspend;
|
|
libinput_udev_assign_seat;
|
|
libinput_udev_create_context;
|
|
libinput_unref;
|
|
|
|
local:
|
|
*;
|
|
};
|
|
|
|
LIBINPUT_0.14.0 {
|
|
global:
|
|
libinput_device_config_middle_emulation_get_default_enabled;
|
|
libinput_device_config_middle_emulation_get_enabled;
|
|
libinput_device_config_middle_emulation_is_available;
|
|
libinput_device_config_middle_emulation_set_enabled;
|
|
} LIBINPUT_0.12.0;
|
|
|
|
LIBINPUT_0.15.0 {
|
|
global:
|
|
libinput_device_keyboard_has_key;
|
|
} LIBINPUT_0.14.0;
|
|
|
|
LIBINPUT_0.19.0 {
|
|
global:
|
|
libinput_device_config_tap_set_drag_lock_enabled;
|
|
libinput_device_config_tap_get_drag_lock_enabled;
|
|
libinput_device_config_tap_get_default_drag_lock_enabled;
|
|
} LIBINPUT_0.15.0;
|
|
|
|
LIBINPUT_0.20.0 {
|
|
libinput_event_gesture_get_angle_delta;
|
|
libinput_event_gesture_get_base_event;
|
|
libinput_event_gesture_get_cancelled;
|
|
libinput_event_gesture_get_dx;
|
|
libinput_event_gesture_get_dx_unaccelerated;
|
|
libinput_event_gesture_get_dy;
|
|
libinput_event_gesture_get_dy_unaccelerated;
|
|
libinput_event_gesture_get_finger_count;
|
|
libinput_event_gesture_get_scale;
|
|
libinput_event_gesture_get_time;
|
|
libinput_event_get_gesture_event;
|
|
} LIBINPUT_0.19.0;
|
|
|
|
LIBINPUT_0.21.0 {
|
|
libinput_device_config_dwt_is_available;
|
|
libinput_device_config_dwt_set_enabled;
|
|
libinput_device_config_dwt_get_enabled;
|
|
libinput_device_config_dwt_get_default_enabled;
|
|
libinput_event_gesture_get_time_usec;
|
|
libinput_event_keyboard_get_time_usec;
|
|
libinput_event_pointer_get_time_usec;
|
|
libinput_event_touch_get_time_usec;
|
|
} LIBINPUT_0.20.0;
|
|
|
|
LIBINPUT_1.1 {
|
|
libinput_device_config_accel_get_profile;
|
|
libinput_device_config_accel_get_profiles;
|
|
libinput_device_config_accel_get_default_profile;
|
|
libinput_device_config_accel_set_profile;
|
|
} LIBINPUT_0.21.0;
|
|
|
|
LIBINPUT_1.2 {
|
|
libinput_device_config_tap_get_drag_enabled;
|
|
libinput_device_config_tap_get_default_drag_enabled;
|
|
libinput_device_config_tap_set_drag_enabled;
|
|
libinput_event_get_tablet_tool_event;
|
|
libinput_event_tablet_tool_x_has_changed;
|
|
libinput_event_tablet_tool_y_has_changed;
|
|
libinput_event_tablet_tool_pressure_has_changed;
|
|
libinput_event_tablet_tool_distance_has_changed;
|
|
libinput_event_tablet_tool_rotation_has_changed;
|
|
libinput_event_tablet_tool_tilt_x_has_changed;
|
|
libinput_event_tablet_tool_tilt_y_has_changed;
|
|
libinput_event_tablet_tool_wheel_has_changed;
|
|
libinput_event_tablet_tool_slider_has_changed;
|
|
libinput_event_tablet_tool_get_dx;
|
|
libinput_event_tablet_tool_get_dy;
|
|
libinput_event_tablet_tool_get_x;
|
|
libinput_event_tablet_tool_get_y;
|
|
libinput_event_tablet_tool_get_pressure;
|
|
libinput_event_tablet_tool_get_distance;
|
|
libinput_event_tablet_tool_get_tilt_x;
|
|
libinput_event_tablet_tool_get_tilt_y;
|
|
libinput_event_tablet_tool_get_rotation;
|
|
libinput_event_tablet_tool_get_slider_position;
|
|
libinput_event_tablet_tool_get_wheel_delta;
|
|
libinput_event_tablet_tool_get_wheel_delta_discrete;
|
|
libinput_event_tablet_tool_get_base_event;
|
|
libinput_event_tablet_tool_get_button;
|
|
libinput_event_tablet_tool_get_button_state;
|
|
libinput_event_tablet_tool_get_proximity_state;
|
|
libinput_event_tablet_tool_get_seat_button_count;
|
|
libinput_event_tablet_tool_get_time;
|
|
libinput_event_tablet_tool_get_tip_state;
|
|
libinput_event_tablet_tool_get_tool;
|
|
libinput_event_tablet_tool_get_x_transformed;
|
|
libinput_event_tablet_tool_get_y_transformed;
|
|
libinput_event_tablet_tool_get_time_usec;
|
|
libinput_tablet_tool_get_serial;
|
|
libinput_tablet_tool_get_tool_id;
|
|
libinput_tablet_tool_get_type;
|
|
libinput_tablet_tool_get_user_data;
|
|
libinput_tablet_tool_has_pressure;
|
|
libinput_tablet_tool_has_distance;
|
|
libinput_tablet_tool_has_rotation;
|
|
libinput_tablet_tool_has_tilt;
|
|
libinput_tablet_tool_has_wheel;
|
|
libinput_tablet_tool_has_slider;
|
|
libinput_tablet_tool_has_button;
|
|
libinput_tablet_tool_is_unique;
|
|
libinput_tablet_tool_ref;
|
|
libinput_tablet_tool_set_user_data;
|
|
libinput_tablet_tool_unref;
|
|
} LIBINPUT_1.1;
|
|
|
|
LIBINPUT_1.3 {
|
|
libinput_device_tablet_pad_get_num_buttons;
|
|
libinput_device_tablet_pad_get_num_rings;
|
|
libinput_device_tablet_pad_get_num_strips;
|
|
libinput_event_get_tablet_pad_event;
|
|
libinput_event_tablet_pad_get_base_event;
|
|
libinput_event_tablet_pad_get_button_number;
|
|
libinput_event_tablet_pad_get_button_state;
|
|
libinput_event_tablet_pad_get_ring_position;
|
|
libinput_event_tablet_pad_get_ring_number;
|
|
libinput_event_tablet_pad_get_ring_source;
|
|
libinput_event_tablet_pad_get_strip_position;
|
|
libinput_event_tablet_pad_get_strip_number;
|
|
libinput_event_tablet_pad_get_strip_source;
|
|
libinput_event_tablet_pad_get_time;
|
|
libinput_event_tablet_pad_get_time_usec;
|
|
} LIBINPUT_1.2;
|
|
|
|
LIBINPUT_1.4 {
|
|
libinput_device_config_rotation_get_angle;
|
|
libinput_device_config_rotation_get_default_angle;
|
|
libinput_device_config_rotation_is_available;
|
|
libinput_device_config_rotation_set_angle;
|
|
libinput_device_tablet_pad_get_mode_group;
|
|
libinput_device_tablet_pad_get_num_mode_groups;
|
|
libinput_event_tablet_pad_get_mode;
|
|
libinput_event_tablet_pad_get_mode_group;
|
|
libinput_tablet_pad_mode_group_button_is_toggle;
|
|
libinput_tablet_pad_mode_group_get_index;
|
|
libinput_tablet_pad_mode_group_get_mode;
|
|
libinput_tablet_pad_mode_group_get_num_modes;
|
|
libinput_tablet_pad_mode_group_get_user_data;
|
|
libinput_tablet_pad_mode_group_has_button;
|
|
libinput_tablet_pad_mode_group_has_strip;
|
|
libinput_tablet_pad_mode_group_has_ring;
|
|
libinput_tablet_pad_mode_group_ref;
|
|
libinput_tablet_pad_mode_group_set_user_data;
|
|
libinput_tablet_pad_mode_group_unref;
|
|
} LIBINPUT_1.3;
|