Ticket #72 (closed defect: worksforme)

Opened 5 years ago

Last modified 4 years ago

holding down button doesn't repeat event

Reported by: jackflap Owned by: dsmith
Priority: major Milestone: Version 0.6.00
Component: wminput Version: 0.6.00
Keywords: down button repeat Cc: jackflap@…

Description

I've connected my wiimote to my box using wminput.

When I'm on a MythTV menu and hold the up-button pressed, it scrolls up through all the menu entries and keeps cycling through indefinitely.

However, when I hold the down button, it moves one down to the next menu item, but doesn't continue sending down events but just stops on the next menu item.

This makes it very difficult to browse a large music playlist using the wiimote since you have to keep pressing down over and over again to move down through the list.

Change History

Changed 5 years ago by jackflap

  • cc jackflap@… added

Changed 4 years ago by dsmith

Did you set CWIID_FLAG_REPEAT_BTN?

Changed 4 years ago by jackflap

If I understand correctly, CWIID_FLAG_REPEAT_BTN is a flag passed to the cwiid_enable() function. This means it has already been set when the package I isntalled was compiled.

Since I didn't compile the package, but am using the one provided in Intrepid's repos, I can't be sure.

I could try compiling from source if it would help diagnose where the problem lies.

Changed 4 years ago by dsmith

  • status changed from new to assigned

The change would actually need to be made in wminput. Try adding it there, if that fixes your problem, we can add an option to wminput.

Changed 4 years ago by jackflap

Well, I downloaded the source and replaced all instances of the following under wminput/main.c:

cwiid_open(&current_bdaddr, CWIID_FLAG_MESG_IFC)

with:

cwiid_open(&current_bdaddr, CWIID_FLAG_MESG_IFC | CWIID_FLAG_REPEAT_BTN)

Re-compiled and ran, but that didn't solve the problem. Not sure about my changes though, don't have much C programming experience.

I wasn't actually able to compile on Intrepid though, so I compiled in Hardy and copied the binary over. I did also notice that the compiled version in Hardy didn't have the problem at all, and only after moving it to Intrepid did the problem show up.

Would you say this means that the problem has something to do with Intrepid's libs somewhere, and isn't a problem in the wminput code at all?

Changed 4 years ago by jackflap

Well, I managed to get it to compile on Intrepid by replacing hci_remote_name with hci_read_remote name in libcwiid/bluetooth.c (see ticket #73).

But it's still not repeating the event for the down button (nor for the left button either, but the up and right buttons work which is weird).

Do you have any other ideas on how to further diagnose where the issue could lie?

Changed 4 years ago by jackflap

I've concluded that this isn't really a problem with cwiid. I took the same version of cwiid and compiled on intrepid which uses bluez 4.x, and then compiled it on hardy which has bluez 3.x.

The problem occurs on intrepid but not hardy with exactly the same cwiid source. This leads me to believe the problem is with bluez in intrepid. I'll try upgrading intrepid's bluez to the latest version, or downgrading to 3.x when i get some time to see if i can narrow down where the problem lies.

Changed 4 years ago by jonaskoelker

Just to be sure, is X keyboard repeating enabled? Run `xset r on' to enable it, and see if it fixes the issue.

FWIW, wminput (from ubuntu's repo) works fine for me on a stock intrepid.

Changed 4 years ago by dsmith

  • status changed from assigned to closed
  • resolution set to worksforme
Note: See TracTickets for help on using tickets.