libinput/src/libinput.sym
Peter Hutterer 6583f4bb53 pad: Add a new API for modes and mode groups
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>
2016-06-22 11:57:07 +10:00

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;