static void
move_binding(struct wl_input_device *device, uint32_t time,
- uint32_t key, uint32_t button, uint32_t state, void *data)
+ uint32_t key, uint32_t button, uint32_t axis, int32_t state, void *data)
{
struct weston_surface *surface =
(struct weston_surface *) device->pointer_focus;
static void
resize_binding(struct wl_input_device *device, uint32_t time,
- uint32_t key, uint32_t button, uint32_t state, void *data)
+ uint32_t key, uint32_t button, uint32_t axis, int32_t state, void *data)
{
struct weston_surface *surface =
(struct weston_surface *) device->pointer_focus;
static void
zoom_binding(struct wl_input_device *device, uint32_t time,
- uint32_t key, uint32_t button, uint32_t state, void *data)
+ uint32_t key, uint32_t button, uint32_t axis, int32_t state, void *data)
{
struct weston_input_device *wd = (struct weston_input_device *) device;
struct weston_compositor *compositor = wd->compositor;
static void
terminate_binding(struct wl_input_device *device, uint32_t time,
- uint32_t key, uint32_t button, uint32_t state, void *data)
+ uint32_t key, uint32_t button, uint32_t axis, int32_t state, void *data)
{
struct weston_compositor *compositor = data;
static void
rotate_binding(struct wl_input_device *device, uint32_t time,
- uint32_t key, uint32_t button, uint32_t state, void *data)
+ uint32_t key, uint32_t button, uint32_t axis, int32_t state, void *data)
{
struct weston_surface *base_surface =
(struct weston_surface *) device->pointer_focus;
static void
click_to_activate_binding(struct wl_input_device *device,
uint32_t time, uint32_t key,
- uint32_t button, uint32_t state, void *data)
+ uint32_t button, uint32_t axis, int32_t state, void *data)
{
struct weston_input_device *wd = (struct weston_input_device *) device;
struct weston_compositor *compositor = data;
static void
switcher_binding(struct wl_input_device *device, uint32_t time,
- uint32_t key, uint32_t button,
- uint32_t state, void *data)
+ uint32_t key, uint32_t button, uint32_t axis,
+ int32_t state, void *data)
{
struct weston_compositor *compositor = data;
struct switcher *switcher;
static void
backlight_binding(struct wl_input_device *device, uint32_t time,
- uint32_t key, uint32_t button, uint32_t state, void *data)
+ uint32_t key, uint32_t button, uint32_t axis, int32_t state, void *data)
{
struct weston_compositor *compositor = data;
struct weston_output *output;
static void
debug_repaint_binding(struct wl_input_device *device, uint32_t time,
- uint32_t key, uint32_t button, uint32_t state, void *data)
+ uint32_t key, uint32_t button, uint32_t axis, int32_t state, void *data)
{
struct weston_compositor *compositor = data;
struct wl_shell *shell =
if (launch_desktop_shell_process(shell) != 0)
return -1;
- weston_compositor_add_binding(ec, 0, BTN_LEFT, MODIFIER_SUPER,
- move_binding, shell);
- weston_compositor_add_binding(ec, 0, BTN_MIDDLE, MODIFIER_SUPER,
- resize_binding, shell);
- weston_compositor_add_binding(ec, KEY_BACKSPACE, 0,
- MODIFIER_CTRL | MODIFIER_ALT,
- terminate_binding, ec);
+ weston_compositor_add_binding(ec, 0, BTN_LEFT, 0, MODIFIER_SUPER,
+ move_binding, shell);
+ weston_compositor_add_binding(ec, 0, BTN_MIDDLE, 0, MODIFIER_SUPER,
+ resize_binding, shell);
+ weston_compositor_add_binding(ec, KEY_BACKSPACE, 0, 0,
+ MODIFIER_CTRL | MODIFIER_ALT,
+ terminate_binding, ec);
+ weston_compositor_add_binding(ec, 0, BTN_LEFT, 0, 0,
+ click_to_activate_binding, ec);
+ weston_compositor_add_binding(ec, KEY_UP, 0, 0, MODIFIER_SUPER,
+ zoom_binding, shell);
+ weston_compositor_add_binding(ec, KEY_DOWN, 0, 0, MODIFIER_SUPER,
+ zoom_binding, shell);
weston_compositor_add_binding(ec, 0, BTN_LEFT, 0,
- click_to_activate_binding, ec);
- weston_compositor_add_binding(ec, KEY_UP, 0, MODIFIER_SUPER,
- zoom_binding, shell);
- weston_compositor_add_binding(ec, KEY_DOWN, 0, MODIFIER_SUPER,
- zoom_binding, shell);
- weston_compositor_add_binding(ec, 0, BTN_LEFT,
- MODIFIER_SUPER | MODIFIER_ALT,
- rotate_binding, NULL);
- weston_compositor_add_binding(ec, KEY_TAB, 0, MODIFIER_SUPER,
- switcher_binding, ec);
+ MODIFIER_SUPER | MODIFIER_ALT,
+ rotate_binding, NULL);
+ weston_compositor_add_binding(ec, KEY_TAB, 0, 0, MODIFIER_SUPER,
+ switcher_binding, ec);
/* brightness */
- weston_compositor_add_binding(ec, KEY_F9, 0, MODIFIER_CTRL,
- backlight_binding, ec);
- weston_compositor_add_binding(ec, KEY_BRIGHTNESSDOWN, 0, 0,
- backlight_binding, ec);
- weston_compositor_add_binding(ec, KEY_F10, 0, MODIFIER_CTRL,
- backlight_binding, ec);
- weston_compositor_add_binding(ec, KEY_BRIGHTNESSUP, 0, 0,
- backlight_binding, ec);
-
- weston_compositor_add_binding(ec, KEY_SPACE, 0, MODIFIER_SUPER,
- debug_repaint_binding, ec);
+ weston_compositor_add_binding(ec, KEY_F9, 0, 0, MODIFIER_CTRL,
+ backlight_binding, ec);
+ weston_compositor_add_binding(ec, KEY_BRIGHTNESSDOWN, 0, 0, 0,
+ backlight_binding, ec);
+ weston_compositor_add_binding(ec, KEY_F10, 0, 0, MODIFIER_CTRL,
+ backlight_binding, ec);
+ weston_compositor_add_binding(ec, KEY_BRIGHTNESSUP, 0, 0, 0,
+ backlight_binding, ec);
+
+ weston_compositor_add_binding(ec, KEY_SPACE, 0, 0, MODIFIER_SUPER,
+ debug_repaint_binding, ec);
ec->shell = &shell->shell;
static void
menu_key_binding(struct wl_input_device *device, uint32_t time,
- uint32_t key, uint32_t button, uint32_t state, void *data)
+ uint32_t key, uint32_t button, uint32_t axis, int32_t state, void *data)
{
struct tablet_shell *shell = data;
static void
home_key_binding(struct wl_input_device *device, uint32_t time,
- uint32_t key, uint32_t button, uint32_t state, void *data)
+ uint32_t key, uint32_t button, uint32_t axis, int32_t state, void *data)
{
struct tablet_shell *shell = data;
shell->long_press_source =
wl_event_loop_add_timer(loop, long_press_handler, shell);
- weston_compositor_add_binding(compositor, KEY_LEFTMETA, 0, 0,
+ weston_compositor_add_binding(compositor, KEY_LEFTMETA, 0, 0, 0,
home_key_binding, shell);
- weston_compositor_add_binding(compositor, KEY_RIGHTMETA, 0, 0,
+ weston_compositor_add_binding(compositor, KEY_RIGHTMETA, 0, 0, 0,
home_key_binding, shell);
- weston_compositor_add_binding(compositor, KEY_LEFTMETA, 0,
+ weston_compositor_add_binding(compositor, KEY_LEFTMETA, 0, 0,
MODIFIER_SUPER, home_key_binding, shell);
- weston_compositor_add_binding(compositor, KEY_RIGHTMETA, 0,
+ weston_compositor_add_binding(compositor, KEY_RIGHTMETA, 0, 0,
MODIFIER_SUPER, home_key_binding, shell);
- weston_compositor_add_binding(compositor, KEY_COMPOSE, 0, 0,
+ weston_compositor_add_binding(compositor, KEY_COMPOSE, 0, 0, 0,
menu_key_binding, shell);
compositor->shell = &shell->shell;
struct weston_binding {
uint32_t key;
uint32_t button;
+ uint32_t axis;
uint32_t modifier;
weston_binding_handler_t handler;
void *data;
WL_EXPORT struct weston_binding *
weston_compositor_add_binding(struct weston_compositor *compositor,
- uint32_t key, uint32_t button, uint32_t modifier,
+ uint32_t key, uint32_t button, uint32_t axis, uint32_t modifier,
weston_binding_handler_t handler, void *data)
{
struct weston_binding *binding;
binding->key = key;
binding->button = button;
+ binding->axis = axis;
binding->modifier = modifier;
binding->handler = handler;
binding->data = data;
WL_EXPORT void
weston_compositor_run_binding(struct weston_compositor *compositor,
struct weston_input_device *device,
- uint32_t time,
- uint32_t key, uint32_t button, int32_t state)
+ uint32_t time, uint32_t key,
+ uint32_t button, uint32_t axis, int32_t state)
{
struct weston_binding *b;
wl_list_for_each(b, &compositor->binding_list, link) {
- if (b->key == key && b->button == button &&
+ if (b->key == key && b->button == button && b->axis == axis &&
b->modifier == device->modifier_state && state) {
b->handler(&device->input_device,
- time, key, button, state, b->data);
+ time, key, button, axis, state, b->data);
/* If this was a key binding and it didn't
* install a keyboard grab, install one now to