Steve commented on my last post about how much better the CD player would be if the front buttons worked (thanks a bunch Steve, you suggested me a pile of work there!), and that joy2key and a cheap joystick would do this.
Sounds simple, so I grabbed a cheap joystick (a Genius MaxFire G-08XU), upgraded to Kubuntu (I was on an old version of Fedora, and decided it was time for a change), and off I went. Very early on, I found that this was not a common and well explained solution, so I thought I would explain how I got it to work…
First of all, a few thoughts on Kubuntu. It rocks. Doing an install, it just works (mostly), and it was easier than the last Windows install I did, because I didn’t have to go hunting for a million driver disks and set them up. Plus the fact that Kubuntu (or linux in general) comes with a nice batch of applications is good too, you don’t have to go hunting all over the net for that useful app you use to do x, you already have it.
So, following Steve’s suggestion, I downloaded joy2key. After a little initial confusion because Kubuntu does not have the joystick in the same place as joy2key was looking, I got joy2key to recognise the joystick and the button presses. The problem was I couldn’t manage to get it to talk to Amarok (the default media player). I was concerned that if I did manage to string it together, it would be held together with string, and wouldn’t just work. I needed to be able to just hit reset if the box crashed & have it come back up and playing.
So I found several other similar programs. All of these either had problems compiling (I think because of dependency problems beyond my abilities) or problems just working. I noticed a common feature of these utilities is that they did not seem to be being updated. This was worrisome to me, as I could see the hassles in getting them to work getting worse as they got older.
Just when I was about to give up, I found that Amarok has a plugin which does exactly what I need. It allows you to assign basic player commands to a joystick. I downloaded & installed it from within Amarok (only one new package required!), and it just works – assign the buttons and off you go. Sweet.
From there the process was simple, pull the joystick apart, and wire the buttons to the remaining ones on the CD player case (which were mostly still in place). It was a pretty simple job, and I kept it simpler by sticking to three buttons – pause/play, next track & back 30 seconds (back to start gave problems on the “all tracks random” playlist we run) – I couldn’t think of any other feature which would be useful.
The keyboard is still around, but is put out of sight, when we come home, all we have to do is hit the pause button to resume playing. If a song comes up we don’t like, fast forward. It just works. Excluding all of the time messing around failing to get various joystick to keyboard applications to work, it was a pretty fast process.
And before someone suggests it, no, I am not going to make a remote control for it, ok.
Oh, and while I was at it I swapped in a new HD, and found a great little IDE to USB adapter. Plug in the power brick, and you have a 100Gb USB drive. No nice case, so no use to carry around, but it will work well as a backup drive, and the adapter will come in useful to recover from any dead machines in the future.