tablet devices show up as non-functional joysticks

Bug #300143 reported by Dave Ahlswede on 2008-11-20
82
This bug affects 13 people
Affects Status Importance Assigned to Milestone
Linux
Fix Released
Medium
Nominated for 2.6.31 by Eduard Hasenleithner
linux (Ubuntu)
Undecided
Unassigned
Intrepid
Undecided
Unassigned
Jaunty
High
Stefan Bader

Bug Description

SRU justification:

Impact: The joydev driver blacklists some input devices based on a keymask. This does not work for the wacom driver as this does not set the checked key.

Fix: Add another key to the blacklist to catch digitizers and tablets. Patch prepared to be submitted upstream.

Testcase: Running X in Intrepid and onwards will result in a broken joystick device visible for the tabled. Which is not there after.

[submitted upstream]

---

joydev blacklists devices that claim BTN_TOUCH (which excludes touchscreens and so forth), but not BTN_DIGI (which would exclude tablets). Without this blacklisting, a non-functional joystick device appears which interferes with the function of joystick-supporting applications.

This went unnoticed in the past since until recently the wacom driver unconditionally claimed BTN_TOUCH whether or the device was a TabletPC touchscreen.

Original report:

---

In Intrepid, the Wacom driver seems to create a /dev/input/js node-- When X is running, these devices are nonfunctional--they return -32768 on all axes, according to jstest.

Unfortunately, this plays havoc with games that use joysticks-- if the tablet happens to be joystick zero, the game tries to use it, and ends up with a joystick that's stuck at full up-left. Udev hackery might be able to solve this, but for the time being i've been relegated to manually deleting the tablet's joystick node before starting up any games.

Related branches

Bryce Harrington (bryce) wrote :

[This is an automated message]

Hi mightyquinn,

Please attach the output of `lspci -vvnn`, and attach your /var/log/Xorg.0.log file from after reproducing this issue. If you've made any customizations to your /etc/X11/xorg.conf please attach that as well.

Changed in wacom-tools:
status: New → Incomplete
Dave Ahlswede (mightyquinn) wrote :

In this case, i do have a joystick already hooked up, so the tablet is js1 instead of js0, but here are the requested files.

I've changed my xorg config file slightly since originally filing the bug report, to override the HAL hotplug detection of my Tablet, but that had no effect on the problem. I will mark the areas changed.

Dave Ahlswede (mightyquinn) wrote :
Dave Ahlswede (mightyquinn) wrote :
Tim Cole (tcole) wrote :

wacom-tools is the wrong package for this bug; I have this problem even on machines without wacom-tools installed.

Tim Cole (tcole) wrote :

UEVENT[1231455478.455224] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1:1.0/input/input18/mouse1 (input)
UEVENT[1231455478.470234] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1:1.0/input/input18/event7 (input)
UEVENT[1231455478.484739] add /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1:1.0/input/input18/js0 (input)

It looks to me like the issue is that the kernel is actually reporting it as as joystick device.

my kernel (I am affected by the problem also) is 2.6.27-9-generic on an amd64 system, btw

Tim Cole (tcole) wrote :

It's definitely a kernel issue; /proc/bus/input/devices reports:

I: Bus=0003 Vendor=056a Product=0042 Version=0126
N: Name="Wacom Intuos2 6x8"
P: Phys=
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1:1.0/input/input19
U: Uniq=
H: Handlers=mouse1 event7 js0
B: EV=1f
B: KEY=18df 1f0000 0 0 0 0
B: REL=100
B: ABS=1000f000163
B: MSC=1

If I am reading the KEY bitmask correctly, the blacklist in drivers/input/joydev.c is not matching and excluding the device from being presented as a joystick, because the tablet input device does not claim BTN_TOUCH in its keybits. (BTN_TOUCH = 0x14a, which is a mask of 400 0 0 0 0 0, which doesn't correspond to any of the bits set in the above keybits.)

Looking at the upstream kernel sources for 2.6.27, it looks like BTN_TOUCH *is* be getting set for wacom tablet keybits in drivers/input/tablet/wacom_sys.c, so this may be something broken specifically in Ubuntu.

Changed in linux:
status: Incomplete → Confirmed
Tim Cole (tcole) wrote :

(Specifically, the bitmask reported by /proc/bus/inputs/devices corresponds to BTN_STYLUS2 | BTN_STYLUS | BTN_TOOL_FINGER | BTN_TOOL_AIRBRUSH | BTN_TOOL_BRUSH | BTN_TOOL_RUBBER | BTN_DIGI | BTN_EXTRA | BTN_SIDE | BTN_MIDDLE | BTN_RIGHT | BTN_LEFT)

[BTN_TOOL_PEN also being an alias for BTN_DIGI, and BTN_LEFT for BTN_MOUSE]

Tim Cole (tcole) wrote :

Looking at our own patched kernel sources, it looks like we report BTN_TOUCH only for TabletPC. Which may actually be correct.

In that case, though, we also need to augment the blacklist in joydev, which is currently still just:

static const struct input_device_id joydev_blacklist[] = {
        {
                .flags = INPUT_DEVICE_ID_MATCH_EVBIT |
                                INPUT_DEVICE_ID_MATCH_KEYBIT,
                .evbit = { BIT_MASK(EV_KEY) },
                .keybit = { [BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH) },
        }, /* Avoid itouchpads, touchscreens and tablets */
        { } /* Terminating entry */
};

Tim Cole (tcole) wrote :

Evidently this is a consequence of merging the updated wacom driver (which we had to do for X compatibility).

Tim Cole (tcole) wrote :

Looking at the source, it looks like blacklisting BTN_DIGI in addition to BTN_TOUCH for joysticks is the correct thing to do. So that would be:

static const struct input_device_id joydev_blacklist[] = {
        {
                .flags = INPUT_DEVICE_ID_MATCH_EVBIT |
                                INPUT_DEVICE_ID_MATCH_KEYBIT,
                .evbit = { BIT_MASK(EV_KEY) },
                .keybit = { [BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH) },
        }, /* Avoid itouchpads and touchscreens */
        {
                .flags = INPUT_DEVICE_ID_MATCH_EVBIT |
                                INPUT_DEVICE_ID_MATCH_KEYBIT,
                .evbit = { BIT_MASK(EV_KEY) },
                .keybit = { [BIT_WORD(BTN_DIGI)] = BIT_MASK(BTN_DIGI) },
        }, /* Avoid tablets and similar devices */
        { } /* Terminating entry */
};

proper diff to follow

Tim Cole (tcole) on 2009-01-09
description: updated
description: updated
description: updated
Connor Imes (ckimes) wrote :

Thanks Tim, I'll mark this bug as Triaged so a kernel team member can deal with it. Cheers.

Changed in linux:
importance: Undecided → Medium
status: Confirmed → Triaged
Tim Cole (tcole) wrote :

Does anyone actually care about this bug?

description: updated
Rolf Leggewie (r0lf) wrote :

setting for next Jaunty milestone. Seems like this is really well triaged and thus easy to either include or reject. I can't help in further debugging this for lack of hardware (and knowledge of kernel internals)

Changed in linux:
milestone: none → jaunty-alpha-5
Tim Cole (tcole) wrote :

Examining the latest Jaunty .diff.gz, it looks like the issue is still present in Jaunty kernels.

Stefan Bader (smb) wrote :

It has been lost in the mass of bugs. This also looks like something that should get upstream.

Changed in linux (Ubuntu):
assignee: nobody → stefan-bader-canonical
status: Triaged → In Progress
Stefan Bader (smb) wrote :

I just added a bit of description and the signed-off-by trail and will try to get that submitted upstream.

Stefan Bader (smb) wrote :

Here (http://people.ubuntu.com/~smb/bug300143/) would be some test kernels containing the patch. Can someone confirm this works as expected? Thanks

Tim Gardner (timg-tpi) wrote :

Fix committed to Karmic

Changed in linux (Ubuntu Jaunty):
assignee: nobody → Stefan Bader (stefan-bader-canonical)
status: New → In Progress
Changed in linux (Ubuntu):
assignee: Stefan Bader (stefan-bader-canonical) → nobody
importance: Medium → Undecided
milestone: jaunty-alpha-5 → none
status: In Progress → Fix Committed
Changed in linux (Ubuntu Intrepid):
assignee: nobody → Stefan Bader (stefan-bader-canonical)
status: New → In Progress
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 2.6.30-3.4

---------------
linux (2.6.30-3.4) karmic; urgency=low

  [ Kees Cook ]

  * SAUCE: [x86] implement cs-limit nx-emulation for ia32
    - LP: #369978

  [ Stefan Bader ]

  * SAUCE: input: Blacklist digitizers from joydev.c
    - LP: #300143

 -- Tim Gardner <email address hidden> Fri, 01 May 2009 14:00:42 -0600

Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
Stefan Bader (smb) wrote :

Commited to Intrepid (target 2.6.27-14.34)

Changed in linux (Ubuntu Intrepid):
status: In Progress → Fix Committed
Stefan Bader (smb) wrote :

Committed to Jaunty (target 2.6.28-13.44)

Changed in linux (Ubuntu Jaunty):
status: In Progress → Fix Committed
description: updated
Martin Pitt (pitti) wrote :

Accepted linux into intrepid-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

tags: added: verification-needed
Steve Beattie (sbeattie) on 2009-06-16
tags: added: hw-specific
Martin Pitt (pitti) wrote :

Accepted linux into jaunty-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Stefan Bader (smb) wrote :

Can someone with an affected tablet check the current proposed kernel to see whether the issue got fixed there. I only have a Bamboo to test and that seems to get the BTN_TOUCH key set, so it does not trigger the bug.

Launchpad Janitor (janitor) wrote :
Download full text (7.2 KiB)

This bug was fixed in the package linux - 2.6.28-15.48

---------------
linux (2.6.28-15.48) jaunty-proposed; urgency=low

  [ Andy Whitcroft ]

  * SAUCE: pnp: add PNP resource range checking function
    - LP: #349314
  * SAUCE: i915: enable MCHBAR if needed
    - LP: #349314

  [ Brad Figg ]

  * SAUCE: Add information to recognize Toshiba Satellite Pro M10 Alps
    Touchpad
    - LP: #330885

  [ Colin Ian King ]

  * Input: atkbd - add forced release keys quirk for Samsung Q45
    - LP: #347623

  [ Manoj Iyer ]

  * SAUCE: Added quirk to enable the installer to recognize NetXen NIC.
    - LP: #389603

  [ Stefan Bader ]

  * SAUCE: input: Blacklist digitizers from joydev.c
    - LP: #300143

  [ Tim Gardner ]

  * Revert "SAUCE: md: wait for possible pending deletes after stopping an
    array"
    - LP: #334994

  [ Upstream Kernel Changes ]

  * bonding: Fix updating of speed/duplex changes
    - LP: #371651
  * net: fix sctp breakage
    - LP: #371651
  * ipv6: don't use tw net when accounting for recycled tw
    - LP: #371651
  * ipv6: Plug sk_buff leak in ipv6_rcv (net/ipv6/ip6_input.c)
    - LP: #371651
  * netfilter: nf_conntrack_tcp: fix unaligned memory access in tcp_sack
    - LP: #371651
  * xfrm: spin_lock() should be spin_unlock() in xfrm_state.c
    - LP: #371651
  * bridge: bad error handling when adding invalid ether address
    - LP: #371651
  * bas_gigaset: correctly allocate USB interrupt transfer buffer
    - LP: #371651
  * USB: EHCI: add software retry for transaction errors
    - LP: #371651
  * USB: fix USB_STORAGE_CYPRESS_ATACB
    - LP: #371651
  * USB: usb-storage: increase max_sectors for tape drives
    - LP: #371651
  * USB: gadget: fix rndis regression
    - LP: #371651
  * USB: add quirk to avoid config and interface strings
    - LP: #371651
  * cifs: fix buffer format byte on NT Rename/hardlink
    - LP: #371651
  * b43: fix b43_plcp_get_bitrate_idx_ofdm return type
    - LP: #371651
  * Add a missing unlock_kernel() in raw_open()
    - LP: #371651
  * x86, PAT, PCI: Change vma prot in pci_mmap to reflect inherited prot
    - LP: #371651
  * security/smack: fix oops when setting a size 0 SMACK64 xattr
    - LP: #371651
  * x86, setup: mark %esi as clobbered in E820 BIOS call
    - LP: #371651
  * dock: fix dereference after kfree()
    - LP: #371651
  * mm: define a UNIQUE value for AS_UNEVICTABLE flag
    - LP: #371651
  * mm: do_xip_mapping_read: fix length calculation
    - LP: #371651
  * vfs: skip I_CLEAR state inodes
    - LP: #371651
  * net/netrom: Fix socket locking
    - LP: #371651
  * kprobes: Fix locking imbalance in kretprobes
    - LP: #371651
  * netfilter: {ip, ip6, arp}_tables: fix incorrect loop detection
    - LP: #371651
  * ALSA: hda - add missing comma in ad1884_slave_vols
    - LP: #371651
  * SCSI: libiscsi: fix iscsi pool error path
    - LP: #371651
  * SCSI: libiscsi: fix iscsi pool error path again
    - LP: #371651
  * posixtimers, sched: Fix posix clock monotonicity
    - LP: #371651
  * sched: do not count frozen tasks toward load
    - LP: #371651
  * spi: spi_write_then_read() bugfixes
    - LP: #371651
  * powerpc: Fix data-corrupting bug in __futex_atomic_op
    - LP...

Read more...

Changed in linux (Ubuntu Jaunty):
status: Fix Committed → Fix Released
sothis (janos-dev) wrote :

the fix causes a regression in 2.6.28-15. the saitek x52 and x52pro joysticks get blacklisted now too, i.e. the joystick device /dev/input/js* won't be created.

Martin Pitt (pitti) wrote :

Reopening, because this caused a regression for existing working hardware. Can you please revert or tighten that change?

tags: added: regression-updates
Changed in linux (Ubuntu Jaunty):
importance: Undecided → Critical
status: Fix Released → Triaged
Stefan Bader (smb) wrote :

The patch would cause regressions. The fix needs to be done upstream and won't be backported to Intrepid.

Changed in linux (Ubuntu Intrepid):
assignee: Stefan Bader (stefan-bader-canonical) → nobody
status: Fix Committed → Won't Fix
Changed in linux:
status: Unknown → Confirmed
Stefan Bader (smb) wrote :

I set this back to high as I commit (and soon upload) the revert of the patch. We are then at the stage we were before with the tablets creating an unusable joystick and have to wait how upstream handles this. I would hope there is a way that joysticks do not use BTN_DIGI but lets see.

Changed in linux (Ubuntu Jaunty):
importance: Critical → High
sothis (janos-dev) wrote :

i don't know much about the input subsystem of the kernel, but wouldn't it be better to just blacklist devices according to their vendor and product id if applicable, and not according to features they may or may not have? someday there might be a grafic tablet with integrated mini joystick, using BTN_DIGI, BTN_TOUCH and all you can think off, then these blacklisting rules will fail basically :-)

I have to second the posting of sothis. I have an Saitek X52pro joystick and cannot use it on jaunty with kernel 2.6.28-15-generic because no /dev/input/js0 device is created! The same joystick works with 2.6.28-14-generic.

Nobody really wants to keep a blacklist in sync manually with devices popping
up and going at a rate they do. The detection based on the BTN codes might or
might not be ideal. But on the other hand any device can only claim to be
something, so your theoretical device with all in one likely needs to present
several sub-devices, each for any function.
Nevertheless, atm this is broken and has been removed for the next upload of
the jaunty kernel and should be available as soon as it gets accepted.

Martin Pitt (pitti) wrote :

 linux (2.6.27-14.41) intrepid-proposed; urgency=low
 .
   [ Stefan Bader ]
 .
   * Revert "SAUCE: input: Blacklist digitizers from joydev.c"
     - LP: #300143

Martin Pitt (pitti) wrote :

"wontfix"ing in jaunty, too.

Changed in linux (Ubuntu Jaunty):
status: Triaged → Won't Fix
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 2.6.27-14.41

---------------
linux (2.6.27-14.41) intrepid-proposed; urgency=low

  [ Stefan Bader ]

  * Revert "SAUCE: input: Blacklist digitizers from joydev.c"
    - LP: #300143

linux (2.6.27-14.40) intrepid-proposed; urgency=low

  [ Amit Kucheria ]

  * Disable DEVKMEM for all archs on Intrepid
    - LP: #354221
  * SAUCE: Quirk for BT USB device on MacbookPro to be reset before use
    - LP: #332443

  [ Andy Isaacson ]

  * LIRC_PVR150: depends on VIDEO_IVTV
    - LP: #341477
  * SAUCE: FSAM7400: select CHECK_SIGNATURE
    - LP: #341712

  [ Andy Whitcroft ]

  * SAUCE: hotkey quirks for various Zepto Znote and Fujitsu Amilo laptops
    - LP: #330259
  * SAUCE: unusual devs: add an entry for the ScanLogic SL11R-IDE 0.78
    - LP: #336189

  [ Anton Veretenenko ]

  * SAUCE: sony-laptop: add support for Sony Vaio FW series function/media
    keys
    - LP: #307592

  [ Ayaz Abdulla ]

  * SAUCE: forcedeth: msi interrupt fix
    - LP: #288281

  [ Chuck Short ]

  * SAUCE: [USB] Unusual Device support for Gold MP3 Player Energy
    - LP: #125250

  [ Ike Panhc ]

  * squashfs: correct misspelling
    - LP: #322306
  * SAUCE: Fixing symbol name in HECI module
    - LP: #336549
  * Copy header files for various kernel media driver
    - LP: #322732

  [ Stefan Bader ]

  * SAUCE: vgacon: Return the upper half of 512 character fonts
    - LP: #355057
  * SAUCE: input: Blacklist digitizers from joydev.c
    - LP: #300143

  [ Upstream Kernel Changes ]

  * libata: make sure port is thawed when skipping resets
    - LP: #269652
  * x86-64: fix int $0x80 -ENOSYS return
    - LP: #339743
  * rt2x00: Fix race conditions in flag handling
    - LP: #258985
  * USB: cdc-acm: Add another conexant modem to the quirks
    - LP: #323829
  * Bluetooth: Add fine grained mem_flags usage to btusb driver
    - LP: #268502
  * Bluetooth: Handle bulk URBs in btusb driver from notify callback
    - LP: #268502
  * Bluetooth: Submit bulk URBs along with interrupt URBs
    - LP: #268502
  * hwmon: (abituguru3) Match partial DMI board name strings
    - LP: #298798
  * x86: mtrr: don't modify RdDram/WrDram bits of fixed MTRRs
    - LP: #292619
  * sis190: add identifier for Atheros AR8021 PHY
    - LP: #247889
  * ath9k: implement IO serialization
    - LP: #373034
  * ath9k: AR9280 PCI devices must serialize IO as well
    - LP: #373034
  * acer-wmi: fix regression in backlight detection
    - LP: #333386

 -- Stefan Bader <email address hidden> Wed, 26 Aug 2009 11:48:11 +0200

Changed in linux (Ubuntu Intrepid):
status: Won't Fix → Fix Released
Tim Cole (tcole) wrote :

It seems to me that the correct fix in this case would have been to fix the x25/x52pro drivers to not advertise BTN_DIGI, since they are not that sort of device, rather than re-regressing the way tablets are handled. :(

Tim Cole (tcole) wrote :

If I prepared another patch which also fixed x25/x52pro, would that be accepted?

Martin Pitt (pitti) wrote :

Tim Cole [2009-09-17 13:38 -0000]:
> If I prepared another patch which also fixed x25/x52pro, would that be
> accepted?

Sure. We just backed it out since it's the fastest and most robust way
of fixing a regression.

Thanks!

Tim Cole (tcole) wrote :

I'll get on that then, thanks.

Stefan Bader (smb) wrote :

Tim, I saw a bit of discussion going on on linux-input ("linux kernel HID problem with Saitek X52 Pro Flight System") between Jiri Kosina and Dmitry Torokhov about this and Jiri sounded like being on the same issue. Maybe you want to jump into that thread.

sothis (janos-dev) wrote :

i'm not subscribed to that list, but browsing the archive i found following statement in the mentioned thread:

> I find it doubtful that the device actually has 39 buttons...

can someone make it clear that the X52 actually has 39 buttons. it seems that they're working again on the base of assumptions :-)

Stefan Bader (smb) wrote :

> can someone make it clear that the X52 actually has 39 buttons. it seems
> that they're working again on the base of assumptions :-)

As far as I can remember that fact had been replied already and they got some
real debug data to work with. :)

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 2.6.28-15.52

---------------
linux (2.6.28-15.52) jaunty-proposed; urgency=low

  [ Stefan Bader ]

  * Revert "SAUCE: ACPI: Populate DIDL before registering ACPI video device
    on Intel"
    - LP: #423296
  * SAUCE: Allow less restrictive acpi video detection
    - LP: #333386

  [ Upstream Kernel Changes ]

  * include drivers/pci/hotplug/* in -virtual package
    - LP: #364916
  * ext4: don't call jbd2_journal_force_commit_nested without journal
    - LP: #418197
  * ext4: fix ext4_free_inode() vs. ext4_claim_inode() race
    - LP: #418197
  * ext4: fix bogus BUG_ONs in in mballoc code
    - LP: #418197
  * ext4: fix typo which causes a memory leak on error path
    - LP: #418197
  * ext4: Fix softlockup caused by illegal i_file_acl value in on-disk
    inode
    - LP: #418197
  * ext4: Fix sub-block zeroing for writes into preallocated extents
    - LP: #418197
  * jbd2: Call journal commit callback without holding j_list_lock
    - LP: #418197
  * ext4: Print the find_group_flex() warning only once
    - LP: #367065
  * ext4: really print the find_group_flex fallback warning only once
    - LP: #367065

linux (2.6.28-15.51) jaunty-proposed; urgency=low

  [ Colin Ian King ]

  * SAUCE: wireless: hostap, fix oops due to early probing interrupt
    - LP: #254837

  [ Leann Ogasawara ]

  * Add the atl1c driver to support Atheros AR8132
    - LP: #415358
  * Updating configs to enable the atl1c driver
    - LP: #415358

  [ Stefan Bader ]

  * Revert "SAUCE: input: Blacklist digitizers from joydev.c"
    - LP: #300143
  * SAUCE: Fix the exported name for e1000e-next
    - LP: #402890
  * SAUCE: Fix incorrect stable backport to bas_gigaset
    - LP: #417732
  * SAUCE: Remove the atl2 driver from the ubuntu subdirectory
    - LP: #419438

linux (2.6.28-15.50) jaunty-proposed; urgency=low

  [ Colin Ian King ]

  * SAUCE: radio-maestro: fix panics on probe failure
    - LP: #357724
  * SAUCE: HDA Intel, sigmatel: Enable speakers on HP Mini 1000
    - LP: #318942

  [ Jerone Young ]

  * SAUCE: Fix Soltech TA12 volume hotkeys not sending key release in
    Jaunty
    - LP: #397499

  [ John Johansen ]

  * SAUCE: remove AppArmor debug check for calls from interrupt context
    - LP: #350789

  [ Manoj Iyer ]

  * SAUCE: Fix kernel panic when SELinux is enabled.
    - LP: #395219

  [ Matthew Garrett ]

  * SAUCE: ACPI: Populate DIDL before registering ACPI video device on
    Intel

  [ Michael Frey (Senior Manager, MID ]

  * SAUCE: Fix for internal microphone for Dell Mini10V
    - LP: #394793

  [ Tim Gardner ]

  * SAUCE: Added e1000e from sourceforge.
    - LP: #402890

  [ Upstream Kernel Changes ]

  * Input: synaptics - report multi-taps only if supported by the device
    - LP: #399787
  * ftdi_sio: fix kref leak
    - LP: #396930, #376128
  * IPv6: add "disable" module parameter support to ipv6.ko
    - LP: #351656

 -- Stefan Bader <email address hidden> Thu, 27 Aug 2009 15:09:06 +0200

Changed in linux (Ubuntu Jaunty):
status: Won't Fix → Fix Released
sothis (janos-dev) wrote :

thanks for fixing. how are chances that the fix will make it into 2.6.32 mainline? :-)

Stefan Bader (smb) wrote :

Sorry for raising false hopes. The fix message is just a false positive. The
current state is that it is reverted to before the fix. So tablets not working
but the joystick does. Have not looked at the state upstream lately...

I don't know if this is the right place to report following bug:

On karmic my X52 pro is not detected again. It appears that the regression is still active in karmic.

linux-source-2.6.31/drivers/input/joydev.c:854
static const struct input_device_id joydev_blacklist[] = {
 /* ... snip */
 {
  .flags = INPUT_DEVICE_ID_MATCH_EVBIT |
    INPUT_DEVICE_ID_MATCH_KEYBIT,
  .evbit = { BIT_MASK(EV_KEY) },
  .keybit = { [BIT_WORD(BTN_DIGI)] = BIT_MASK(BTN_DIGI) },
 }, /* Avoid tablets, digitisers and similar devices */
 { } /* Terminating entry */
};

Stefan Bader (smb) wrote :

There has been some more discussion on that (see http://markmail.org/message/5jraw2mk6k6nvlos). In essence the maintainer seemed to be rather thinking that the joystick should not use the BTM_DIGI. Unfortunately I don't know what the solution should be and the discussion went silent after that.
Probably the best solution would be to have a new bug about the regression with the upstream but linked to that and also to try to approach Jiri and/or Dmitry to ask about the current status on that.

lyrez (jean-michel-dechamps) wrote :

Hi
I hope i can permit to give my "two cents" about this :
I'm a owner of a X52, and i wonder if all this stuff around BTM_DIGI is related to the fact that this stick gets a mouse control (with its click button). For the 39 buttons it has (of course) quite less but it has a mode switch that
acts like the shift key of a keyboard. May I add, that, to get my x52 working back I reverted the changes that had been made on the kernel.After booting on my new kernel; x52 and my graphire 4 wacom tablet worked both quite fine.
that's just my two cehts; hope this helps
Regards
Jean-michel

Changed in linux:
status: Confirmed → Fix Released
earthforce_1 (earthforce1) wrote :

Hi, I am using an X-52 with X-Plane 9 under Karmic - this used to work fine, (Last used it in November or so) but the X-52 is no longer detected. (Kernel 2.6.31-17-generic) Is there any experiment I can do that will help debug/resolve this?

> Hi, I am using an X-52 with X-Plane 9 under Karmic - this used to work
> fine, (Last used it in November or so) but the X-52 is no longer
> detected.  (Kernel 2.6.31-17-generic) Is there any experiment I can do
> that will help debug/resolve this?

hi. no, basically not, since there is a fix already available (see
http://bugzilla.kernel.org/show_bug.cgi?id=14049). i'm not sure why
they haven't fixed this in the mainline kernel yet.

janos

Stefan Bader (smb) on 2010-01-28
Changed in linux (Ubuntu Intrepid):
status: Fix Released → Won't Fix
Changed in linux (Ubuntu Jaunty):
status: Fix Released → Won't Fix
Stefan Bader (smb) wrote :

I hope to be able to clarify the situation here. The problem initially reported with this bug is the fact that tablet devices did show up as non-functional joysticks and this has been fixed by blacklisting devices that report to have a BTN_DIGI. Basically the first button a device gets assigned classifies the function of it.
This was all well as long as joysticks had the limited number of buttons the developers anticipated. But with joysticks that have more than that, this does not work and those incorrectly get assigned buttons that classify other devices (like BTN_GAMEPAD and BTN_DIGI). But this is a different problem which also has been reported http://bugs.launchpad.net/bugs/492056 and I would continue with that issue over there.
Tablets should work (again), starting with Karmic and so this bug is considered to be closed.

th3flyboy (th3flyboy) wrote :

This is still causing issues with the X52 pro with 10.10 maverick and the latest kernel. Could someone please fix this in Ubuntu's repositories so that we don't have to recompile the kernel every update?

Changed in linux:
importance: Unknown → Medium

Wacom Intuos M tablets still show up as joysticks on Vivid, kernel 4.0.0-040000-generic.

To clarify a bit, /proc/bus/input/devices shows:

I: Bus=0003 Vendor=056a Product=0303 Version=0110
N: Name="Wacom Intuos PT M Pad"
P: Phys=usb-0000:0f:00.0-2/input1
S: Sysfs=/devices/pci0000:00/0000:00:1c.1/0000:0f:00.0/usb1/1-2/1-2:1.1/0003:056A:0303.0002/input/input12
U: Uniq=
H: Handlers=mouse2 event8 js0
B: PROP=0
B: EV=b
B: KEY=800 630000 0 0 0 0
B: ABS=3

Stefan Bader (smb) wrote :

Please open a new bug report for this. The result may be the same but the device is again a completely new case. In this report (closed a long while ago) the devices in question could be identified by a certain key (BTN_DIGI) which this one does not set. Most properties resemble the definition of an absolute mouse, but again the defined buttons do not match the current definition. So this requires a new strategy and some research. Thanks.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.