gdk_device_get_source for Microsoft Sculpt Comfort Bluetooth Mouse returns GDK_SOURCE_TOUCHSCREEN
Submitted by Makoto Kato
Link to original bug (#770716)
Description
We use gdk_device_get_source to detect touchscreen device. But GDK detects ""Microsoft Microsoft® 2.4GHz Transceiver v9.0" (Microsoft Sculpt Comfort Bluetooth Mouse) as touch screen device.
"Microsoft Microsoft® 2.4GHz Transceiver v9.0" shouldn't return touch screen device.
Into gdb, Thread 1 "firefox" hit Breakpoint 1, gdk_device_get_source ( device=device@entry=0x7ffff6b56e80) at ././gdk/gdkdevice.c:822 822 in ././gdk/gdkdevice.c (gdb) p *device $10 = {parent_instance = {g_type_instance = {g_class = 0x7ffff6b5faa0}, ref_count = 3, qdata = 0x0}, name = 0x7fffe591e1f0 "Microsoft Microsoft® 2.4GHz Transceiver v9.0", source = GDK_SOURCE_TOUCHSCREEN, mode = GDK_MODE_DISABLED, has_cursor = 0, num_keys = 0, keys = 0x0, manager = 0x7fffe591c0b0, display = 0x7fffe59100b0, associated = 0x7ffff6b56980, slaves = 0x0, type = GDK_DEVICE_TYPE_SLAVE, axes = 0x7fffe591e130, num_touches = 0, vendor_id = 0x7ffff6bb4388 "045e", product_id = 0x7ffff6bb4390 "07a5", seat = 0x7ffff6bd28c0}
Also, xinput list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Microsoft Microsoft® 2.4GHz Transceiver v9.0 id=9 [slave pointer (2)] ⎜ ↳ Microsoft Microsoft® 2.4GHz Transceiver v9.0 id=10 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Power Button id=7 [slave keyboard (3)] ↳ Microsoft Microsoft® 2.4GHz Transceiver v9.0 id=8 [slave keyboard (3)] ↳ Eee PC WMI hotkeys id=11 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)] ↳ Microsoft Microsoft® 2.4GHz Transceiver v9.0 id=13 [slave keyboard (3)]
Version: 3.21.x