Hasu USB-USB Converter
Posted: 12 Jun 2016, 23:24
As many here already know, Hasu has developed converters to enable various classic keyboards to be used with USB. These include Apple ADB, Apple M0110, IBM 4704, Next, Sun, IBM XT, and others.
More recently, he has made a USB to USB converter that is programmable, so that virtually any USB keyboard can be programmed to any layout. It includes up to 7 layers and up to 32 Fn keys. I have found this converter so extraordinary and helpful that I decided to post my impressions of it.
Hasu USB-USB Converter; image from Hasu. https://geekhack.org/index.php?topic=72052.0
Once you program the converter to your liking, you can plug any USB keyboard into it to get the layout you have programmed into the converter. Moreover, if you decide to change your layout, you can reprogram the converter. You do this by flashing the firmware, so you could save collections of hex files with various layouts. This would save you the bother of re-entering the key assignments.
Hasu provides instructions for building the converter yourself from a Circuit@Home USB Host Shield and Arduino Leonardo chip, or, for a mere $55, you can buy a fully assembled converter directly from Hasu.
There is a really nice review of the converter on GH:
https://geekhack.org/index.php?topic=74708.0
Here are links to Hasu's thread on the USB-USB and other converters:
https://geekhack.org/index.php?topic=69169.0
workshop-f7/tmk-keyboard-firmware-colle ... 0converter
Here is the link to the TMK firmware:
https://github.com/tmk/tmk_keyboard/tre ... er/usb_usb
And here is the link to the online configurator:
http://www.tmk-kbd.com/tmk_keyboard/editor/usb_usb/
Looking at the configurator, you can see how generic and all-encompassing it is. You could even program a 122-key IBM keyboard as long as it had first been converted to USB (See "Soarer's Converter"). The generic layout also includes European ISO and Japanese layouts. You can simply ignore the keys that aren't on your keyboard, or you can label them with the "NO" code.
There are a few limitations. For example, the converter can only work with keys that send scan codes, so hardwired Fn and Pn keys, like on the Pok3r, could not themselves be remapped in this way. However, any key with a scan code could be assigned a role as Fn (and you could have up to 32 such keys if you wanted to do so). In addition, the converter cannot do NKRO, but it can handle 6KRO, which is more than enough for me.
Hasu is also extremely helpful, answering questions posted on the forums in a timely fashion.
I have programmed the converter for a HHKB-like layout. Thus far, I have found that it works on the following keyboards:
+ CM QFS TKL
+ KBP V60MTS-C
+ IBM SSK with Orihalcon's SDL to USB converter cable
Moreover, it works with an Iogear DVI 4-port KVM and powered USB Hub.
It also works on Windows 10 and Linux (Linux Mint 17.3 64-bit Xfce).
Finally, it works with Synergy software between Windows and Linux computers.
At present, I am using the converter in my home office. I have ordered a second one for work, and I am considering a third for travel.
Because I switch keyboards frequently, one concern I have is how well the converter will withstand repeated connections and disconnections. It looks fairly durable, but I am considering putting it into an enclosure with strain-relief cables to panel-mount connectors. Alternatively, KHAANNN suggested simply using some coiled USB cables and connecting the keyboard to the coiled cable instead of directly to the converter. It might be nice to encapsulate it in a USB cable, such as Orihalcon has done with a variety of converters.
More recently, he has made a USB to USB converter that is programmable, so that virtually any USB keyboard can be programmed to any layout. It includes up to 7 layers and up to 32 Fn keys. I have found this converter so extraordinary and helpful that I decided to post my impressions of it.
Hasu USB-USB Converter; image from Hasu. https://geekhack.org/index.php?topic=72052.0
Once you program the converter to your liking, you can plug any USB keyboard into it to get the layout you have programmed into the converter. Moreover, if you decide to change your layout, you can reprogram the converter. You do this by flashing the firmware, so you could save collections of hex files with various layouts. This would save you the bother of re-entering the key assignments.
Hasu provides instructions for building the converter yourself from a Circuit@Home USB Host Shield and Arduino Leonardo chip, or, for a mere $55, you can buy a fully assembled converter directly from Hasu.
There is a really nice review of the converter on GH:
https://geekhack.org/index.php?topic=74708.0
Here are links to Hasu's thread on the USB-USB and other converters:
https://geekhack.org/index.php?topic=69169.0
workshop-f7/tmk-keyboard-firmware-colle ... 0converter
Here is the link to the TMK firmware:
https://github.com/tmk/tmk_keyboard/tre ... er/usb_usb
And here is the link to the online configurator:
http://www.tmk-kbd.com/tmk_keyboard/editor/usb_usb/
Looking at the configurator, you can see how generic and all-encompassing it is. You could even program a 122-key IBM keyboard as long as it had first been converted to USB (See "Soarer's Converter"). The generic layout also includes European ISO and Japanese layouts. You can simply ignore the keys that aren't on your keyboard, or you can label them with the "NO" code.
There are a few limitations. For example, the converter can only work with keys that send scan codes, so hardwired Fn and Pn keys, like on the Pok3r, could not themselves be remapped in this way. However, any key with a scan code could be assigned a role as Fn (and you could have up to 32 such keys if you wanted to do so). In addition, the converter cannot do NKRO, but it can handle 6KRO, which is more than enough for me.
Hasu is also extremely helpful, answering questions posted on the forums in a timely fashion.
I have programmed the converter for a HHKB-like layout. Thus far, I have found that it works on the following keyboards:
+ CM QFS TKL
+ KBP V60MTS-C
+ IBM SSK with Orihalcon's SDL to USB converter cable
Moreover, it works with an Iogear DVI 4-port KVM and powered USB Hub.
It also works on Windows 10 and Linux (Linux Mint 17.3 64-bit Xfce).
Finally, it works with Synergy software between Windows and Linux computers.
At present, I am using the converter in my home office. I have ordered a second one for work, and I am considering a third for travel.
Because I switch keyboards frequently, one concern I have is how well the converter will withstand repeated connections and disconnections. It looks fairly durable, but I am considering putting it into an enclosure with strain-relief cables to panel-mount connectors. Alternatively, KHAANNN suggested simply using some coiled USB cables and connecting the keyboard to the coiled cable instead of directly to the converter. It might be nice to encapsulate it in a USB cable, such as Orihalcon has done with a variety of converters.