From: JengHyun Kang Date: Fri, 9 Dec 2016 02:51:58 +0000 (+0900) Subject: Ignore joystick devices if LIBINPUT_IGNORE_JOYSTICK env is 1 X-Git-Tag: submit/tizen_3.0/20161209.063130^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fheads%2Faccepted%2Ftizen_mobile;p=platform%2Fupstream%2Flibinput.git Ignore joystick devices if LIBINPUT_IGNORE_JOYSTICK env is 1 Change-Id: I56d9cc833acad212e3d8071a79adf27bc29c19ca --- diff --git a/src/evdev.c b/src/evdev.c index 951b7682..d6dcd3b7 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -1517,6 +1517,7 @@ evdev_configure_device(struct evdev_device *device) int slot; const char *devnode = udev_device_get_devnode(device->udev_device); enum evdev_device_udev_tags udev_tags; + char *env; udev_tags = evdev_device_get_udev_tags(device, device->udev_device); @@ -1541,11 +1542,22 @@ evdev_configure_device(struct evdev_device *device) /* libwacom *adds* TABLET, TOUCHPAD but leaves JOYSTICK in place, so make sure we only ignore real joystick devices */ - if ((udev_tags & EVDEV_UDEV_TAG_JOYSTICK) == udev_tags) { - log_info(libinput, - "input device '%s', %s is a joystick, ignoring\n", - device->devname, devnode); - return -1; + if (udev_tags & EVDEV_UDEV_TAG_JOYSTICK) { + env = getenv("LIBINPUT_IGNORE_JOYSTICK"); + if (env && atoi(env) == 1) { + log_info(libinput, + "input device '%s', %s have joystick, ignoring\n", + device->devname, devnode); + return -1; + } + else { + if ((udev_tags & EVDEV_UDEV_TAG_JOYSTICK) == udev_tags) { + log_info(libinput, + "input device '%s', %s is a joystick, ignoring\n", + device->devname, devnode); + return -1; + } + } } device->abs.absinfo_orientation = libevdev_get_abs_info(evdev, ABS_MT_ORIENTATION);