Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

velocityg4

macrumors 604
Original poster
Dec 19, 2004
7,345
4,733
Georgia
I've been thinking about using one of my Apple Extended Keyboards with my PC. Just seeing what your thoughts are on the best adapter for this. Figured the Apple Collector's forum is most likely to have people who've done this.

I know there's the Griiffin iMate but those are old now and seem to have some flaws. Most notably Caps Lock seems to be an issue on some versions of macOS. Not sure if this is the same as Windows. Anyways, this product is old and I figured something new might do a better job in the modern world.

So, has anyone tried the Wombat ADB-USB or tinkerBOY ADB? What I like about the tinkerBOY is it is compact while the Wombat offers bidirectional support. Not sure why I'd want to use a crappy USB keyboard on my vintage Macs. But I'd have the option.

Anyways my list of concerns in buying one of these
- Reliability, I don't want to be fiddling all the time plugging an unplugging. Even worse is missed keys while typing.
- Latency, will there be noticeable latency when typing?
- Caps Lock and Num Lock work?
- Gaming: How's gaming? Notably any lag or issues pressing multiple keys simultaneously.

Like to haves
- Power Button: Obviously this won't work for booting, but wondering if it can be mapped for another use? Such as the soft sleep button in Windows.
- Boot support: Does it fire up fast enough to access the BIOS?

Alternatives: Are there some other modern options which might be better? I'm aware of Drakware but those are sold out. I came across some other adapter but can't remember the name or find it again.
 
  • Like
Reactions: reukiodo
The Griffin iMate was interesting because it added an Apple ADB bus driver which developers could use to add ADB device drivers for their devices so it could work with more than just mice and keyboards. I made a Mac OS X ADB device driver for a Microsoft SideWinder 3D Pro Joystick ADB which worked well with built-in ADB but I needed to make my own Mac OS X ADB bus driver for the iMate since the existing one was missing some functionality (and didn't work with some types of devices like joysticks and tablets that sent more than 2 bytes at a time, had memory leaks, and caused kernel panics, and didn't work with Intel Macs). Apple's own IOADBController had bugs also that needed to be worked around (since it wasn't made for ADB controllers and devices that were not permanent).

The iMate can work without its ADB driver for keyboards and mice by making them appear as USB devices so it should work during boot and for accessing BIOS but I haven't tried it recently so I'm not 100% sure. I suspect most ADB to USB adapters have at least this functionality.

Simon Stapleton also made an Mac OS X iMate driver:
https://code.google.com/archive/p/imate-osx/

I think what would be interesting is an open source hardware project to replace the iMate and avoid the quirks of that undocumented hardware. The code for the ADB devices could then be offloaded to the external hardware so no ADB device driver needs to be created in macOS so it could be made to support other types of devices, not just keyboards and mice. Here's a project:
https://github.com/qmk/qmk_firmware/tree/master/keyboards/converter/adb_usb
 
The Griffin iMate was interesting because it added an Apple ADB bus driver which developers could use to add ADB device drivers for their devices so it could work with more than just mice and keyboards. I made a Mac OS X ADB device driver for a Microsoft SideWinder 3D Pro Joystick ADB which worked well with built-in ADB but I needed to make my own Mac OS X ADB bus driver for the iMate since the existing one was missing some functionality (and didn't work with some types of devices like joysticks and tablets that sent more than 2 bytes at a time, had memory leaks, and caused kernel panics, and didn't work with Intel Macs). Apple's own IOADBController had bugs also that needed to be worked around (since it wasn't made for ADB controllers and devices that were not permanent).

The iMate can work without its ADB driver for keyboards and mice by making them appear as USB devices so it should work during boot and for accessing BIOS but I haven't tried it recently so I'm not 100% sure. I suspect most ADB to USB adapters have at least this functionality.

Simon Stapleton also made an Mac OS X iMate driver:
https://code.google.com/archive/p/imate-osx/

I think what would be interesting is an open source hardware project to replace the iMate and avoid the quirks of that undocumented hardware. The code for the ADB devices could then be offloaded to the external hardware so no ADB device driver needs to be created in macOS so it could be made to support other types of devices, not just keyboards and mice. Here's a project:
https://github.com/qmk/qmk_firmware/tree/master/keyboards/converter/adb_usb

I've come across some mentions of a DIY route. But that's just too much work for a keyboard. I just like the idea of the Wombat and tinkerBOY because they are just plug and go. Otherwise I'd just look for a mechanical keyboard with Cherry switches. I just really want to use my Apple keyboards with their vaunted Alps switches.

The Wombat's firmware has already been keymapped for the Apple keyboards (you can customize this). The developer also actively releases updates to the firmware. To improve USB to ADB support for USB devices on old Macs.

The tinkeyBOY uses the TMK Core Library. But it doesn't look like it gets updated.

Neither requires a driver. They just pass everything through.

I decided to order the Wombat. Because it still gets updates and is bi-directional. I'm thinking of also getting a tinkerBoy and use it with another Apple Keyboard. I'm also interested in the IBM version to use with an IBM Model M.
 
The tinkeyBOY uses the TMK Core Library. But it doesn't look like it gets updated.
It seems QMK is a fork of TMK.
https://github.com/qmk/qmk_firmware/blob/master/docs/faq_general.md

I decided to order the Wombat. Because it still gets updates and is bi-directional. I'm thinking of also getting a tinkerBoy and use it with another Apple Keyboard. I'm also interested in the IBM version to use with an IBM Model M.
Please let us know how they work out when you get them - such as do they satisfy your requirements from the original post?
 
It seems QMK is a fork of TMK.
https://github.com/qmk/qmk_firmware/blob/master/docs/faq_general.md


Please let us know how they work out when you get them - such as do they satisfy your requirements from the original post?
Definitely. I only ordered the Wombat. I'm still waffling on the tinkerBoy. But I'll probably end up ordering it too. As I've got several vintage Apple keyboards and the only 68K Mac I've got setup already has one.
 
I've only been using this for a few minutes. So, far the Wombat USB is working pretty good. I haven't tested it in detail yet. I'm using the adapter for typing this from my Apple Extended Keyboard:cool:.

Here's a rough overview

Reliability: Haven't used it long enough. I'll come back in a few months on this one to let you all know.

Latency: Everything seems to come up on screen just as fast as my wireless Logitech. My typing speed came out around the same. I'm more confused by the keyboard than anything. As the homing bumps are on different keys screwing me up. Still I got 58 out of my usual 72 WPM. I think that'll get better as I get used to the keyboard. It feels like I'm typing faster. It just takes me way longer to recover from a screw up. Since I keep wanting to put my index fingers on the bumps.

Caps/Num Lock: Yes, both work even scroll lock. Almost every key works except for the power button and = key on the numpad.

Gaming: Haven't tried yet

Power Button: The input light flashes on the Wombat when I press it. Like any other key. There is some hope I can map it to do something.

Boot Support: Keyboard input works at boot. I can enter the BIOS.

Issues

Sleep: Does not wake my Windows PC from sleep. When looking at it in Device Manager. It has no Power Management tab either.

Input: So far my only issue has been the = key on the numpad. The Wombat flashes when it's pressed. So, it is a functional key. But the input isn't translating on screen. It must be some mapping issue. I'll have to see if I can get it working

--------------------------------------------
When I have time. I'll update my findings about the Wombat. As I'll be testing it with my standard keyboard, Kensington trackball and Apple ADB mouse. I'll also try it in USB to ADB on my IIvx. Finally, I'll also try updating the firmware and see if I can get the = key and power key to work as intended.

Here's some nudes.
IMG_0229.pngIMG_0230.pngIMG_0232.pngIMG_0235.png
 
  • Like
Reactions: joevt and MacTech68
Update: I've tried updating the firmware. (numpad =) still isn't recognized by Windows

I've checked the scan codes. It is reporting that it is sending 0x67. Yet Windows doesn't recognize this as =. Is this some Windows issue? I've worked around this by remapping the ADB to USB (numpad =) to 0x2E (= and +). So, I have an = key on the numpad now. Not sure how many issues this will cause but it works.

As for the power key. I've remapped it to 0x66. Which should be recognized as a power signal. Windows isn't going to sleep when I press it though. Is this the wrong USB scan code for Windows sleep?

Just wondering if I'm just using the wrong Windows USB scan codes for (numpad =) and sleep (power key).
 
  • Like
Reactions: MacTech68
Update: I've tried updating the firmware. (numpad =) still isn't recognized by Windows

I've checked the scan codes. It is reporting that it is sending 0x67. Yet Windows doesn't recognize this as =. Is this some Windows issue? I've worked around this by remapping the ADB to USB (numpad =) to 0x2E (= and +). So, I have an = key on the numpad now. Not sure how many issues this will cause but it works.

As for the power key. I've remapped it to 0x66. Which should be recognized as a power signal. Windows isn't going to sleep when I press it though. Is this the wrong USB scan code for Windows sleep?

Just wondering if I'm just using the wrong Windows USB scan codes for (numpad =) and sleep (power key).
Hi - Just wanted to know how your testing went with the Kensington trackball. I have a two-button Kensington trackball that I have kept in a drawer for years because I always wanted to find a way to get it to work over USB. How did it work for you?
 
Just an update:

The Kensington TurboMouse (Trackball) has been working great. I've been using it for a month now on my primary computer. So, it gets a lot of use. It has zero issues.

Tracking is super smooth. I can move the cursor single pixels if I want. It's actually so nice. I haven't touched my mouse for a month (even though it's plugged in). I don't really have plans to stop using the trackball. I think I'm a trackball convert. I have a thumb version on another computer, which is ho hum. This big trackball is a definite plus.

I'm even considering getting a spare or two before they get too hard to find. Maybe pickup the four button ADB version.

I'll also add. This has been working great with the Apple Extended II keyboard on the ADB Wombat. I wasn't sure how two devices would play out. But they work just fine together. The keyboard is still going strong. No real issues with the Wombat and keyboard besides what's been listed above.

As for gaming with the keyboard. I don't really game much with keyboards. The little I've used it for gaming has been fine. Couldn't say how it would do for AAA shooters. As I suck at those on keyboards and use a gamepad for them. But it's been fine for RTS games and seems to respond fast.

IMG_0344.jpeg
 
Just an update:

The Kensington TurboMouse (Trackball) has been working great. I've been using it for a month now on my primary computer. So, it gets a lot of use. It has zero issues.

Tracking is super smooth. I can move the cursor single pixels if I want. It's actually so nice. I haven't touched my mouse for a month (even though it's plugged in). I don't really have plans to stop using the trackball. I think I'm a trackball convert. I have a thumb version on another computer, which is ho hum. This big trackball is a definite plus.

I'm even considering getting a spare or two before they get too hard to find. Maybe pickup the four button ADB version.

I'll also add. This has been working great with the Apple Extended II keyboard on the ADB Wombat. I wasn't sure how two devices would play out. But they work just fine together. The keyboard is still going strong. No real issues with the Wombat and keyboard besides what's been listed above.

As for gaming with the keyboard. I don't really game much with keyboards. The little I've used it for gaming has been fine. Couldn't say how it would do for AAA shooters. As I suck at those on keyboards and use a gamepad for them. But it's been fine for RTS games and seems to respond fast.

View attachment 2009153
Excellent! Thank you for the update!

Just ordered one : )
 
Last edited:
I made another version with just the bare board if you want to print your own case. :)
s-l1600.jpg
s-l1600 (2).jpg
 
This is a fantastic project! I have an ancient Griffin iMate that I've used for the last two decades to keep my ADB keyboards running on modern machines. Currently it's in use in my classroom to use my 658-4081 ADB Keyboard on my 2020 27" iMac but I'd love something else to start using some of my other keyboards on other computers!
 
Do these adapters work for converting USB joysticks to ADB? I have access to some old MACs and I am trying to figure out whether I should adapt a PC joystick to connect over ADB to an old mac, or implement emulator support for PC joysticks instead.
 
Do these adapters work for converting USB joysticks to ADB?
Only keyboards and mice have standard interfaces for ADB. Every other ADB device needs its own driver. That means the USB joystick to ADB adapter needs to emulate a known ADB joystick that has a ADB driver.

USB joysticks probably use a HID interface. The HID interface defines all the inputs and ranges for each control of the HID device. The adapter can try to logically translate these automatically to the format used by a known ADB joystick. You can view the HID interface using "USB Prober.app" on macOS.

Probably the USB to ADB adapter just needs a firmware update to emulate an ADB joystick. Keyboards and Mice are HID devices so it shouldn't be too difficult to add other kinds of HID devices. Check the firmware source code to see if it doesn't already have support.

Old Power Macs with PCI support USB since at least Mac OS 8.1 (original iMac) or 8.6 so you would just use the USB joystick directly if possible.

I have access to some old MACs and I am trying to figure out whether I should adapt a PC joystick to connect over ADB to an old mac, or implement emulator support for PC joysticks instead.
Those are two totally different things.
1) Do you want to use an old Mac (which requires a USB to ADB adapter if it doesn't have PCI and Mac OS 8.6 or later).
Or
2) Do you want to use a Mac emulator? An emulator can use a USB joystick as a USB device in the guest OS or it can use the USB joystick controls to emulate an ADB joystick.
DingusPPC can emulate a Pippin AppleJack/ADB controller. Other ADB controllers will be added. It doesn't emulate USB yet. QEMU probably emulates USB.
Maybe one day DingusPPC can use a Griffin iMate to connect real ADB devices (not just keyboards and mice).
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.