mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2026-03-22 05:40:39 +01:00
evdev: Use temporary variable when passing libevdev pointer
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
This commit is contained in:
parent
91952e05fe
commit
6ef6968631
1 changed files with 19 additions and 17 deletions
36
src/evdev.c
36
src/evdev.c
|
|
@ -543,6 +543,7 @@ evdev_device_dispatch(void *data)
|
|||
static int
|
||||
evdev_configure_device(struct evdev_device *device)
|
||||
{
|
||||
struct libevdev *evdev = device->evdev;
|
||||
const struct input_absinfo *absinfo;
|
||||
int has_abs, has_rel, has_mt;
|
||||
int has_button, has_keyboard, has_touch;
|
||||
|
|
@ -555,14 +556,14 @@ evdev_configure_device(struct evdev_device *device)
|
|||
has_keyboard = 0;
|
||||
has_touch = 0;
|
||||
|
||||
if (libevdev_has_event_type(device->evdev, EV_ABS)) {
|
||||
if (libevdev_has_event_type(evdev, EV_ABS)) {
|
||||
|
||||
if ((absinfo = libevdev_get_abs_info(device->evdev, ABS_X))) {
|
||||
if ((absinfo = libevdev_get_abs_info(evdev, ABS_X))) {
|
||||
device->abs.min_x = absinfo->minimum;
|
||||
device->abs.max_x = absinfo->maximum;
|
||||
has_abs = 1;
|
||||
}
|
||||
if ((absinfo = libevdev_get_abs_info(device->evdev, ABS_Y))) {
|
||||
if ((absinfo = libevdev_get_abs_info(evdev, ABS_Y))) {
|
||||
device->abs.min_y = absinfo->minimum;
|
||||
device->abs.max_y = absinfo->maximum;
|
||||
has_abs = 1;
|
||||
|
|
@ -570,19 +571,20 @@ evdev_configure_device(struct evdev_device *device)
|
|||
/* We only handle the slotted Protocol B in weston.
|
||||
Devices with ABS_MT_POSITION_* but not ABS_MT_SLOT
|
||||
require mtdev for conversion. */
|
||||
if (libevdev_has_event_code(device->evdev, EV_ABS, ABS_MT_POSITION_X) &&
|
||||
libevdev_has_event_code(device->evdev, EV_ABS, ABS_MT_POSITION_Y)) {
|
||||
absinfo = libevdev_get_abs_info(device->evdev, ABS_MT_POSITION_X);
|
||||
if (libevdev_has_event_code(evdev, EV_ABS, ABS_MT_POSITION_X) &&
|
||||
libevdev_has_event_code(evdev, EV_ABS, ABS_MT_POSITION_Y)) {
|
||||
absinfo = libevdev_get_abs_info(evdev, ABS_MT_POSITION_X);
|
||||
device->abs.min_x = absinfo->minimum;
|
||||
device->abs.max_x = absinfo->maximum;
|
||||
absinfo = libevdev_get_abs_info(device->evdev, ABS_MT_POSITION_Y);
|
||||
absinfo = libevdev_get_abs_info(evdev, ABS_MT_POSITION_Y);
|
||||
device->abs.min_y = absinfo->minimum;
|
||||
device->abs.max_y = absinfo->maximum;
|
||||
device->is_mt = 1;
|
||||
has_touch = 1;
|
||||
has_mt = 1;
|
||||
|
||||
if (!libevdev_has_event_code(device->evdev, EV_ABS, ABS_MT_SLOT)) {
|
||||
if (!libevdev_has_event_code(evdev,
|
||||
EV_ABS, ABS_MT_SLOT)) {
|
||||
device->mtdev = mtdev_new_open(device->fd);
|
||||
if (!device->mtdev)
|
||||
return -1;
|
||||
|
|
@ -592,13 +594,13 @@ evdev_configure_device(struct evdev_device *device)
|
|||
}
|
||||
}
|
||||
}
|
||||
if (libevdev_has_event_code(device->evdev, EV_REL, REL_X) ||
|
||||
libevdev_has_event_code(device->evdev, EV_REL, REL_Y))
|
||||
if (libevdev_has_event_code(evdev, EV_REL, REL_X) ||
|
||||
libevdev_has_event_code(evdev, EV_REL, REL_Y))
|
||||
has_rel = 1;
|
||||
|
||||
if (libevdev_has_event_type(device->evdev, EV_KEY)) {
|
||||
if (libevdev_has_event_code(device->evdev, EV_KEY, BTN_TOOL_FINGER) &&
|
||||
!libevdev_has_event_code(device->evdev, EV_KEY, BTN_TOOL_PEN) &&
|
||||
if (libevdev_has_event_type(evdev, EV_KEY)) {
|
||||
if (libevdev_has_event_code(evdev, EV_KEY, BTN_TOOL_FINGER) &&
|
||||
!libevdev_has_event_code(evdev, EV_KEY, BTN_TOOL_PEN) &&
|
||||
(has_abs || has_mt)) {
|
||||
device->dispatch = evdev_mt_touchpad_create(device);
|
||||
log_info("input device '%s', %s is a touchpad\n",
|
||||
|
|
@ -607,21 +609,21 @@ evdev_configure_device(struct evdev_device *device)
|
|||
for (i = KEY_ESC; i < KEY_MAX; i++) {
|
||||
if (i >= BTN_MISC && i < KEY_OK)
|
||||
continue;
|
||||
if (libevdev_has_event_code(device->evdev, EV_KEY, i)) {
|
||||
if (libevdev_has_event_code(evdev, EV_KEY, i)) {
|
||||
has_keyboard = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (libevdev_has_event_code(device->evdev, EV_KEY, BTN_TOUCH))
|
||||
if (libevdev_has_event_code(evdev, EV_KEY, BTN_TOUCH))
|
||||
has_touch = 1;
|
||||
for (i = BTN_MISC; i < BTN_JOYSTICK; i++) {
|
||||
if (libevdev_has_event_code(device->evdev, EV_KEY, i)) {
|
||||
if (libevdev_has_event_code(evdev, EV_KEY, i)) {
|
||||
has_button = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (libevdev_has_event_type(device->evdev, EV_LED))
|
||||
if (libevdev_has_event_type(evdev, EV_LED))
|
||||
has_keyboard = 1;
|
||||
|
||||
if ((has_abs || has_rel) && has_button) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue