Author Topic: [TMK] Keyboard Protocol Converter  (Read 98038 times)

0 Members and 1 Guest are viewing this topic.

Offline hasu

  •  Moderator
  • Thread Starter
  • Posts: 2805
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [TMK] Keyboard Converter
« Reply #50 on: Mon, 11 April 2016, 09:01:27 »
Revised converter prices(USB-USB: 50->55, M0110/IBM4704: 40-> 42, MiniDIN: 30->32) due to recent USD/JPY rate change and cost of components.

And a few of USB-USB converters are available now.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Mr. Perfect

  • Posts: 379
  • Location: United States
Re: [TMK] Keyboard Converter
« Reply #51 on: Thu, 14 April 2016, 12:56:53 »
How does the Mini-DIN converter work? Does one converter accept all seven different types of board, or do I have to order one converter for each type?
Mr. Perfect - A name fraught with peril.

G80-8113HRBUS MX Clears, FC200R MX Clears.

Offline hasu

  •  Moderator
  • Thread Starter
  • Posts: 2805
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [TMK] Keyboard Converter
« Reply #52 on: Fri, 15 April 2016, 18:20:01 »
How does the Mini-DIN converter work? Does one converter accept all seven different types of board, or do I have to order one converter for each type?

Not "one fits all".
First, DIN connectors are differenent between those protocols. But Mini-DIN converters are actually indentical hardware except for connector and solder jumper setting. You can make one protocol converter into another by changing connector and jumpers with solder iron. You also have to update firmware of course.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Xe0n0

  • Posts: 11
Re: [TMK] Keyboard Converter
« Reply #53 on: Fri, 10 June 2016, 11:25:16 »
Wow~ If I use a USB2USB converter with my stock HHKB pro2 controller, doesn't mean I will get back my usb hub function?

Offline hasu

  •  Moderator
  • Thread Starter
  • Posts: 2805
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [TMK] Keyboard Converter
« Reply #54 on: Fri, 16 September 2016, 22:42:00 »
Keymap(unimpa) editor is availlable for USB-USB, ADB, PS/2, M0110 and NeXT now!

WIth keymap editor you can change keymaps without compiling firmware from source codes. If you use with Chrome it would give better result. It won't work with Safari at least.

http://www.tmk-kbd.com/tmk_keyboard/editor/
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline hasu

  •  Moderator
  • Thread Starter
  • Posts: 2805
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [TMK] Keyboard Converter
« Reply #55 on: Fri, 30 September 2016, 06:44:23 »
Hi all,
Thanks for your support.

TMK Keymap editor is available for IBM4704 Converter now.

http://www.tmk-kbd.com/tmk_keyboard/editor/

Enjoy!
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline hasu

  •  Moderator
  • Thread Starter
  • Posts: 2805
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [TMK] Keyboard Converter
« Reply #56 on: Wed, 05 October 2016, 22:29:24 »
Does anyone have problem on USB suspend(sleep)/resume(wakeup) and BIOS/EFI with TMK converter?
I am debuging and updating USB code in repository and wan to get infos on this from users, like which converter?, detailed problem description, OS, computer hardware and etc.

Can you sleep computer with keeping converter and keyboard connected?
Can you wakeup computer with keyboard via converter? Pressing any key on keyboard should wake your computer.
Can you use keyboard normally after wakeup(resume)?

Can you use keyboard normally after reboot?
Can you use keyboard normally on BIOS/UEFI?
Can you use keyboard normally on BIOS/UEFI after reboot?

Thanks.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline hasu

  •  Moderator
  • Thread Starter
  • Posts: 2805
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [TMK] Keyboard Converter
« Reply #57 on: Tue, 18 October 2016, 15:54:25 »
USB-USB converter is back in stock now.

And LED fix for USB-USB Converter is available now.
You can download the fixed firmware from keymap editor or build from source codes.
https://geekhack.org/index.php?topic=69169.msg2283838#msg2283838

Thanks
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Glod

  • * Elevated Elder
  • Posts: 1956
  • Location: Virginia, USA
    • YouTube Channel
Re: [TMK] Keyboard Converter
« Reply #58 on: Fri, 16 December 2016, 16:18:06 »
i got my usb/usb converter and it works great, it is an extremely solid way to had hardware mapped colemak layout these keyboards i abandoned when i started using colemak. software colemak sucks. this was super easy to program. writing this on cherry G80 that has dust on it.

thank you hasu!!!

Offline hasu

  •  Moderator
  • Thread Starter
  • Posts: 2805
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [TMK] Keyboard Converter
« Reply #59 on: Fri, 16 December 2016, 17:01:57 »
Glad to hear that! Thanks for your post :D

i got my usb/usb converter and it works great, it is an extremely solid way to had hardware mapped colemak layout these keyboards i abandoned when i started using colemak. software colemak sucks. this was super easy to program. writing this on cherry G80 that has dust on it.

thank you hasu!!!
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Happy Pizza Guy

  • Posts: 3
Re: [TMK] Keyboard Converter
« Reply #60 on: Sat, 28 January 2017, 16:23:44 »
A few quick questions:

1. Does the ADB converter allow the locking Caps Lock on the Apple M0115 to work properly on Mac OS X?
2. Would the Power button on the M0115 work, too?
3. Would one Mini-DIN converter be able to handle multiple protocols? I have ADB, PS2 and Non-ADB NeXT keyboards that I'd be interested in using this for. Would I have to re-flash the Converter to switch protocols? How easy is that to do on Mac OS X?

Offline hasu

  •  Moderator
  • Thread Starter
  • Posts: 2805
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [TMK] Keyboard Converter
« Reply #61 on: Sat, 28 January 2017, 16:36:39 »
A few quick questions:

1. Does the ADB converter allow the locking Caps Lock on the Apple M0115 to work properly on Mac OS X?
2. Would the Power button on the M0115 work, too?
3. Would one Mini-DIN converter be able to handle multiple protocols? I have ADB, PS2 and Non-ADB NeXT keyboards that I'd be interested in using this for. Would I have to re-flash the Converter to switch protocols? How easy is that to do on Mac OS X?

1. yes, it should work, I didn't hear about the problem of capslock from users so far. I don't have Mac to test though.
2. Power button are assigned as special function by default, you can remap power key with editing code and compilng firmwre yourself.
3. Every protocol requires different connector.  But yes you can use it for those protocols if you replace connector, configure solder jumpers and re-flash firmware. Depends on how your are familiar of soldering, but re-flashing seems to be easy for Mac users, I don't have complains much from them comparing to Windows.
3
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline U47

  • Posts: 75
  • Location: YEG
Re: [TMK] Keyboard Converter
« Reply #62 on: Tue, 31 January 2017, 21:01:12 »
3. Would one Mini-DIN converter be able to handle multiple protocols? I have ADB, PS2 and Non-ADB NeXT keyboards that I'd be interested in using this for. Would I have to re-flash the Converter to switch protocols? How easy is that to do on Mac OS X?

Flashing is easy, but fiddling with different mini-DINs and re/desoldering bridges isn't worth the time. I have 4 converters, one for NeXT, a M0110, an ADB, and a Sun. If hasu is willing, he may sell you bare boards that you can build yourself, if the cost is too great. Or get a Teensy (although that's not as elegant as hasu's solution).

Offline Lirael

  • Posts: 1
Re: [TMK] Keyboard Converter
« Reply #63 on: Sat, 11 March 2017, 13:19:19 »
Hi all,

This is my first post here. I'm trying to get my Apple IIgs keyboard connected to my Windows 10 PC using the ideas posted in this forum. There's a lot of great info here, but my skill set only got me so far.

I have a teensy 3.2 which a co-worker of mine graciously wired up for me. http://imgur.com/a/kjAfo

I've also been using various guides to build the adb_usb.hex file - namely this one http://octobrain.net/blog/howto-revive-iigs-keyboard.html.

I'm building the hex file on a Linux PC, and though I'm able to transfer it and successfully program the teensy board, nothing happens when I try connecting and typing on the IIgs keyboard.

I realize it may be difficult to decipher the wiring from the photos, but I'd appreciate whatever help I can find here.

Thanks!

Offline hasu

  •  Moderator
  • Thread Starter
  • Posts: 2805
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [TMK] Keyboard Converter
« Reply #64 on: Sat, 11 March 2017, 18:39:00 »
Hi all,

This is my first post here. I'm trying to get my Apple IIgs keyboard connected to my Windows 10 PC using the ideas posted in this forum. There's a lot of great info here, but my skill set only got me so far.

I have a teensy 3.2 which a co-worker of mine graciously wired up for me. http://imgur.com/a/kjAfo

I've also been using various guides to build the adb_usb.hex file - namely this one http://octobrain.net/blog/howto-revive-iigs-keyboard.html.

I'm building the hex file on a Linux PC, and though I'm able to transfer it and successfully program the teensy board, nothing happens when I try connecting and typing on the IIgs keyboard.

I realize it may be difficult to decipher the wiring from the photos, but I'd appreciate whatever help I can find here.

Thanks!

My firmware doesn't support Teensy3.x you have to port code to the platform. It is not so difficult but will take some amount of time to learn TMK firmware codes and ADB protocol.
It would be great if you or your buddy can contribute code for Teensy3.x to my github repository.

Just buy TMK ADB-USB converter from me if you want to save time of you and your colleague :D

This thread is specific to TMK preassembled converters, If you need further technical discussion on DIY converter post in this thread. https://geekhack.org/index.php?topic=14290.0

TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Tcow1015

  • Posts: 2
  • Location: CT, USA
    • tgcprojects.tk
Re: [TMK] Keyboard Converter
« Reply #65 on: Sun, 23 April 2017, 09:20:32 »
Hello, I am a bit of a noob when it comes to Teensy but I decided that I wanted to convert an old ADB keyboard to USB, while I could have used a Micromate I decided that this was by far the better solution, not only was it cheaper but it allowed the Teensy to be hidden away inside the keyboard, I struggled to compile the code. (if you are like me and just want basic ADB to USB then here is the link to my compiled version.   https://drive.google.com/open?id=0B0I2s1ybg7qvZkVTdnAwOHFfZnM) But now I have having some problems with the wiring, the key presses don't register and the mouse pointer jumps around. I don't currently have any 1k Ohm resistors so I am waiting for some to come and I hope that those will fix my problem but if they don't then I will post a picture of my wiring and seek help. (I also am beginning to wonder if the keyboard it self is broken, don't know if there is an easy way to test that but if there is then I would like to test it as)
-Thanks

Offline nevin

  • Posts: 83
Re: [TMK] Keyboard Converter
« Reply #66 on: Sun, 23 April 2017, 15:37:23 »
Sounds like the issues you get without the pull up resistor. Hopefully your resistors will come in soon.

Sent from my SM-G900V using Tapatalk

Keeb.io Viterbi, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline hasu

  •  Moderator
  • Thread Starter
  • Posts: 2805
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [TMK] Keyboard Converter
« Reply #67 on: Mon, 08 May 2017, 04:34:28 »
Update:
Keymap editor for Sharp X68000 converter is available now.

http://www.tmk-kbd.com/tmk_keyboard/editor/unimap/?x68k_usb
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline saturnin

  • Posts: 1
Re: [TMK] Keyboard Protocol Converter
« Reply #68 on: Fri, 14 July 2017, 18:44:18 »
Hello ! Recently I've become an owner of hasu USB 2 USB converter. It's wonderful! Now I'm able to have a hardware implementation of Colemak layout and two separate extended layers with mouse and multimedia buttons.

Unfortunately my Tesoro Tizona keyboard won't work with this device. It has NKRO / 6KRO support but do not work in any of those. I've tried to compile tmk with nkro support but it will not help. Here is a console output from hid_listen (keyboard in 6KRO mode and TMK without NKRO support):
usb_state: 12
usb_state: 20
usb_state: 40
usb_state: 50
usb_state: 51
usb_state: 311
usb_state: 90
speed: full
host.Task: 2545
input 10: 00 00 12 00 00 00 00 usb_state: 40
host.Task: 2545

Line with input 10 repeats after each keypress. Input value (00 00 12 ...) coresponds to key pressed, but after that keyboard resets itself and reconnects. No output is send to OS. When I compile TMK with NKRO support console output is much less the same but input value is longer (16 bytes?)
As far as I understand there might be a problem with HID report parser. Is there any chance to make this keyboard work? I'm a C programmer (although a bit rusty) so if there is a chance to change TMK code a little bit I hope I will be able to learn how to do it by myself. Thank You for any hints You can give me.
« Last Edit: Fri, 14 July 2017, 18:49:03 by saturnin »

Offline hasu

  •  Moderator
  • Thread Starter
  • Posts: 2805
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [TMK] Keyboard Protocol Converter
« Reply #69 on: Sun, 16 July 2017, 04:23:33 »
The build option  "NKRO_ENABLE" changes function on PC side, not for keyboard, so the option won't be helpful in this case.

How did you turn the keyboard into 6KRO? And USB descriptor of the device would be useful to know how NKRO/6KRO works.
https://github.com/tmk/tmk_keyboard/wiki/HID-Report-Descriptor

> usb_state: 311

hmm, state should be two digits, 311 is weird.
https://github.com/tmk/tmk_keyboard/blob/master/converter/usb_usb/usb_usb.cpp#L159https://github.com/tmk/tmk_keyboard/blob/master/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/UsbCore.h#L106-L119


> input 10: 00 00 12 00 00 00 00

Part after ":" indicates keyboard report(6KRO) and should be 8 bytes but this display only 7, weird. "12" means 'o' key in HID usage, btw.

I hope this helps somehow.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline P4-Takuto

  • Posts: 2
Re: [TMK] Keyboard Protocol Converter
« Reply #70 on: Fri, 25 August 2017, 09:15:19 »
Hey there! I'm interested in a converter for an apple M0110 and M0110A. Since the polls are crossed in the M0110 would this adapter need to be modified to be compatible with both or will it only work with one or the other? Shipping to Canada via EMS if it's quicker than standard shipping. Hope to hear from you soon!
Email: ace-xxx@hotmail.com

Offline hasu

  •  Moderator
  • Thread Starter
  • Posts: 2805
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [TMK] Keyboard Protocol Converter
« Reply #71 on: Fri, 25 August 2017, 16:31:31 »
Hey there! I'm interested in a converter for an apple M0110 and M0110A. Since the polls are crossed in the M0110 would this adapter need to be modified to be compatible with both or will it only work with one or the other? Shipping to Canada via EMS if it's quicker than standard shipping. Hope to hear from you soon!
Email: ace-xxx@hotmail.com

"the polls are crossed"? I'm not sure what does this mean but M0110 converter supports both M0110 and M0110A, no modification is required. And yes EMS is much quicker and recommended.
I'll send you invoice soon. Thanks.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline P4-Takuto

  • Posts: 2
Re: [TMK] Keyboard Protocol Converter
« Reply #72 on: Tue, 10 October 2017, 08:33:27 »
I'm back again! Thank's for the M0110 converter, works like a charm! This time I'm interested in the converter for an IBM 6112884 with the optional EMS shipping. The EMS shipping arrives pretty quickly for shipping to Canada. Again thank you and hope to hear from you soon!

Offline Trente

  • Posts: 172
Re: [TMK] Keyboard Protocol Converter
« Reply #73 on: Wed, 18 October 2017, 16:39:28 »
Hi Hasu, I just received the TMK converter for the NeXT non-adb keyboard, and I am using a macbook pro with this board, but it seems I can't get the keyboard identification done. I am wondering if I need to first flash some firmware on it or what I can do to make sure the converter is communicating with my mac but it is keyboard not working correctly?

Offline hasu

  •  Moderator
  • Thread Starter
  • Posts: 2805
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [TMK] Keyboard Protocol Converter
« Reply #74 on: Wed, 18 October 2017, 17:08:16 »
Hi Hasu, I just received the TMK converter for the NeXT non-adb keyboard, and I am using a macbook pro with this board, but it seems I can't get the keyboard identification done. I am wondering if I need to first flash some firmware on it or what I can do to make sure the converter is communicating with my mac but it is keyboard not working correctly?

It comes with default firmware you don't have to flash unless you erase it. I think some users use with Mac but I don't have it to test it. If you have windows or linux try it on them.

Did you try ioreg or something to find the device?

TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Trente

  • Posts: 172
Re: [TMK] Keyboard Protocol Converter
« Reply #75 on: Thu, 19 October 2017, 02:01:07 »
Hi Hasu, I just received the TMK converter for the NeXT non-adb keyboard, and I am using a macbook pro with this board, but it seems I can't get the keyboard identification done. I am wondering if I need to first flash some firmware on it or what I can do to make sure the converter is communicating with my mac but it is keyboard not working correctly?

It comes with default firmware you don't have to flash unless you erase it. I think some users use with Mac but I don't have it to test it. If you have windows or linux try it on them.

Did you try ioreg or something to find the device?

So I think my Mac is able to pick up the converter as a keyboard device since it prompted the external keyboard setup window, but my key switch pressing do not have any response, so I think it might be primarily the keyboard problem since a default firmware is on the converter and any keypress should at least get something registered. But yeah I will also try it on a linux or windows machine to make sure.

Offline Glod

  • * Elevated Elder
  • Posts: 1956
  • Location: Virginia, USA
    • YouTube Channel
Re: [TMK] Keyboard Protocol Converter
« Reply #76 on: Sat, 21 October 2017, 18:03:16 »
hey hasu

got a question for you

I have your USB to USB converter

I tried it on a backlit keyboard for the first time this week, on this board (got it for 30$, seriously one of the best values ever)
https://www.amazon.com/Team-Wolf-Swappable-Mechanical-Keyboard-Blue/dp/B01AFBJQA8?th=1
it says on the back 5v 200ma

I am guessing there is a limit to how much the converter can pull? what is odd is that sometimes the board will take by the converter and will stay working until I unplug it but sometimes it just wont work, actually i haven't been able to get it to work anymore. The USB 2 USB converter seems to still be in good shape, takes my other boards just fine, was using it all day.

Is there something firmware wise I can do to the converter to get it to work? I only used the TMK hex creator on the website and not the "hard way", i didn't know if turning down anything would work (polling, nkro, etc)
« Last Edit: Sat, 21 October 2017, 18:05:16 by Glod »

Offline hasu

  •  Moderator
  • Thread Starter
  • Posts: 2805
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [TMK] Keyboard Protocol Converter
« Reply #77 on: Sat, 21 October 2017, 21:16:16 »
Glod,
Could you dump HID descriptor of the keybaord? It would be helpful to debug.

This line defines max power consumption in mA of the converter, 100 by default. I guess how this value is handled depends on OS. What os are you using with the converter?
https://github.com/tmk/tmk_keyboard/blob/master/tmk_core/protocol/lufa/descriptor.c#L269

TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Glod

  • * Elevated Elder
  • Posts: 1956
  • Location: Virginia, USA
    • YouTube Channel
Re: [TMK] Keyboard Protocol Converter
« Reply #78 on: Sat, 21 October 2017, 22:00:36 »
Glod,
Could you dump HID descriptor of the keybaord? It would be helpful to debug.

This line defines max power consumption in mA of the converter, 100 by default. I guess how this value is handled depends on OS. What os are you using with the converter?
https://github.com/tmk/tmk_keyboard/blob/master/tmk_core/protocol/lufa/descriptor.c#L269

Windows
Code: [Select]
Information for device USB to USB keyboard converter (VID=0xFEED PID=0x005B):

Connection Information:
------------------------------
Device current bus speed: FullSpeed
Device supports USB 1.1 specification
Device supports USB 2.0 specification
Device address: 0x000E
Current configuration value: 0x01
Number of open pipes: 5

Device Descriptor:
------------------------------
0x12 bLength
0x01 bDescriptorType
0x0110 bcdUSB
0x00 bDeviceClass   
0x00 bDeviceSubClass   
0x00 bDeviceProtocol   
0x08 bMaxPacketSize0   (8 bytes)
0xFEED idVendor
0x005B idProduct
0x0814 bcdDevice
0x01 iManufacturer   "t.m.k."
0x02 iProduct   "USB to USB keyboard converter"
0x00 iSerialNumber
0x01 bNumConfigurations

Configuration Descriptor:
------------------------------
0x09 bLength
0x02 bDescriptorType
0x0074 wTotalLength   (116 bytes)
0x04 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xA0 bmAttributes   (Bus-powered Device, Remote-Wakeup)
0x32 bMaxPower      (100 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x01 bNumEndPoints
0x03 bInterfaceClass      (Human Interface Device Class)
0x01 bInterfaceSubClass   
0x01 bInterfaceProtocol   
0x00 iInterface

HID Descriptor:
------------------------------
0x09 bLength
0x21 bDescriptorType
0x0111 bcdHID
0x00 bCountryCode
0x01 bNumDescriptors
0x22 bDescriptorType   (Report descriptor)
0x003F bDescriptorLength

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0008 wMaxPacketSize    (1 x 8 bytes)
0x0A bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x01 bInterfaceNumber
0x00 bAlternateSetting
0x01 bNumEndPoints
0x03 bInterfaceClass      (Human Interface Device Class)
0x01 bInterfaceSubClass   
0x02 bInterfaceProtocol   
0x00 iInterface

HID Descriptor:
------------------------------
0x09 bLength
0x21 bDescriptorType
0x0111 bcdHID
0x00 bCountryCode
0x01 bNumDescriptors
0x22 bDescriptorType   (Report descriptor)
0x004D bDescriptorLength

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0008 wMaxPacketSize    (1 x 8 bytes)
0x0A bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x01 bNumEndPoints
0x03 bInterfaceClass      (Human Interface Device Class)
0x00 bInterfaceSubClass   
0x00 bInterfaceProtocol   
0x00 iInterface

HID Descriptor:
------------------------------
0x09 bLength
0x21 bDescriptorType
0x0111 bcdHID
0x00 bCountryCode
0x01 bNumDescriptors
0x22 bDescriptorType   (Report descriptor)
0x0036 bDescriptorLength

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0008 wMaxPacketSize    (1 x 8 bytes)
0x0A bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0x03 bInterfaceClass      (Human Interface Device Class)
0x00 bInterfaceSubClass   
0x00 bInterfaceProtocol   
0x00 iInterface

HID Descriptor:
------------------------------
0x09 bLength
0x21 bDescriptorType
0x0111 bcdHID
0x00 bCountryCode
0x01 bNumDescriptors
0x22 bDescriptorType   (Report descriptor)
0x0020 bDescriptorLength

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0020 wMaxPacketSize    (1 x 32 bytes)
0x01 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x04 bEndpointAddress  (OUT endpoint 4)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0020 wMaxPacketSize    (1 x 32 bytes)
0x01 bInterval

Microsoft OS Descriptor is not available. Error code: 0x0000001F

String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409
0x01   0x0409  "t.m.k."
0x02   0x0409  "USB to USB keyboard converter"

------------------------------

Connection path for device:
USB xHCI Compliant Host Controller
Root Hub
Generic USB Hub
Generic USB Hub
Generic USB Hub
Generic USB Hub
USB to USB keyboard converter (VID=0xFEED PID=0x005B) Port: 3

Running on: Windows 10 or greater

Brought to you by TDD v2.0.0, Jul 12 2017, 15:09:10

Offline Glod

  • * Elevated Elder
  • Posts: 1956
  • Location: Virginia, USA
    • YouTube Channel
Re: [TMK] Keyboard Protocol Converter
« Reply #79 on: Sat, 21 October 2017, 22:11:45 »
i am a idiot, wrong keyboard

here

Code: [Select]
Information for device Gaming KB  (VID=0x258A PID=0x1006):

Connection Information:
------------------------------
Device current bus speed: FullSpeed
Device supports USB 1.1 specification
Device supports USB 2.0 specification
Device address: 0x000E
Current configuration value: 0x01
Number of open pipes: 2

Device Descriptor:
------------------------------
0x12 bLength
0x01 bDescriptorType
0x0110 bcdUSB
0x00 bDeviceClass   
0x00 bDeviceSubClass   
0x00 bDeviceProtocol   
0x08 bMaxPacketSize0   (8 bytes)
0x258A idVendor
0x1006 idProduct
0x0105 bcdDevice
0x01 iManufacturer   "Gaming KB "
0x02 iProduct   "Gaming KB "
0x00 iSerialNumber
0x01 bNumConfigurations

Configuration Descriptor:
------------------------------
0x09 bLength
0x02 bDescriptorType
0x003B wTotalLength   (59 bytes)
0x02 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xA0 bmAttributes   (Bus-powered Device, Remote-Wakeup)
0x96 bMaxPower      (300 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x01 bNumEndPoints
0x03 bInterfaceClass      (Human Interface Device Class)
0x01 bInterfaceSubClass   
0x01 bInterfaceProtocol   
0x00 iInterface

HID Descriptor:
------------------------------
0x09 bLength
0x21 bDescriptorType
0x0111 bcdHID
0x00 bCountryCode
0x01 bNumDescriptors
0x22 bDescriptorType   (Report descriptor)
0x0041 bDescriptorLength

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0008 wMaxPacketSize    (1 x 8 bytes)
0x02 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x01 bInterfaceNumber
0x00 bAlternateSetting
0x01 bNumEndPoints
0x03 bInterfaceClass      (Human Interface Device Class)
0x01 bInterfaceSubClass   
0x01 bInterfaceProtocol   
0x00 iInterface

HID Descriptor:
------------------------------
0x09 bLength
0x21 bDescriptorType
0x0111 bcdHID
0x00 bCountryCode
0x01 bNumDescriptors
0x22 bDescriptorType   (Report descriptor)
0x00A8 bDescriptorLength

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0008 wMaxPacketSize    (1 x 8 bytes)
0x01 bInterval

Microsoft OS Descriptor is not available. Error code: 0x0000001F

String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409
0x01   0x0409  "Gaming KB "
0x02   0x0409  "Gaming KB "

------------------------------

Connection path for device:
USB xHCI Compliant Host Controller
Root Hub
Generic USB Hub
Generic USB Hub
Generic USB Hub
Generic USB Hub
Gaming KB  (VID=0x258A PID=0x1006) Port: 3

Running on: Windows 10 or greater

Brought to you by TDD v2.0.0, Jul 12 2017, 15:09:10

Offline hasu

  •  Moderator
  • Thread Starter
  • Posts: 2805
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [TMK] Keyboard Protocol Converter
« Reply #80 on: Sun, 22 October 2017, 01:50:26 »
Thank you.
Sorry I forgot to include this link,  to see Report descriptor requires some more hassles. Report descriptor is more desireble to look into. If you have more time try USBlyzer on WIndows.
https://github.com/tmk/tmk_keyboard/wiki/HID-Report-Descriptor

The keyboard rerquires 300mA on descriptor, what if change the MaxPower line of the converter  to 500mA from 100mA?


TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Glod

  • * Elevated Elder
  • Posts: 1956
  • Location: Virginia, USA
    • YouTube Channel
Re: [TMK] Keyboard Protocol Converter
« Reply #81 on: Mon, 23 October 2017, 14:39:44 »
I could not get around to making hex file the "old fashioned way" until now.

Editing the mA did not do anything, changing to 300 or 500 or even 2000 did not make a difference
Editing the mA alone did not work.

HOWEVER, when i commented out the extra keys in the Makefile
#EXTRAKEY_ENABLE ?= yes   # Media control and System control
It started to work every time I plug it on my main PC, In fact I am typing colemak on it now.
edit: changing the mA did indeed make a difference, if i set it lower than 300 it sometimes does not work.

BUT, it will not work on my "work PC" unless I plug in the USB_USB into the port and then after 1 second plug in the keyboard, and that works 25% of the time. There must be something that can be done?

edit: just some more info. I do NOT have to comment out the extra keys on the other keyboards i use with the usb_usb such as my G80 or Model M with ps/2 converter. it works every time on those. I am guessing the reason the keyboard is having problems is the backlighting,

edit2 : ok so i found 2 other backlit keyboards and they DO NOT run into any issues. I am thinking something is odd with this teamwolf keyboard, it has these changeable nkro and polling rate t settings and I tried all combinations with no luck on the work pc. ALL combinations of polling rate and nkro works with my main PC.
« Last Edit: Mon, 23 October 2017, 16:27:02 by Glod »

Offline hasu

  •  Moderator
  • Thread Starter
  • Posts: 2805
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [TMK] Keyboard Protocol Converter
« Reply #82 on: Tue, 24 October 2017, 00:08:59 »
Glod, Thank you for your trials and report.

BUT, it will not work on my "work PC" unless I plug in the USB_USB into the port and then after 1 second plug in the keyboard, and that works 25% of the time. There must be something that can be done?

hm, there may be something wrong or to be improved with startup of converter firmware, though I'm not sure at this time.

TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Online pixelpusher

  • Formerly known as reececonrad
  • Posts: 2374
  • Location: Tennessee - USA
Re: [TMK] Keyboard Protocol Converter
« Reply #83 on: Sun, 05 November 2017, 14:32:08 »
Hey guys.  I have an issue and I was wondering if you could help.  I have recently acquired a SIIG minitouch keyboard.  I like the monterrey blue switches in it a lot.  The keyboard is 5pin DIN but works great with a DIN to PS2 adapter.  However, I wanted to get it working over usb at some point.  I bought the active PS2 to USB converter from Amazon that everyone always recommends, but it doesn't fully work.  What happens it that the converter is dropping many of my keypreses at random times.   I don't have this issue when I run it over PS2.

I checked the forums and I haven't seen anyone with this issue using the active converter. 

Would the hasu's converter somehow be "better" than the one here:
https://www.amazon.com/gp/product/B000BSJFJS/

Edit: I just tried the converter with my Model M (PS2) and it works fine.  It seems to be something unique to the SIIG keyboard.  I guess I could just use a PS2 extension cable, but I wouldn't ever be able to use it with a laptop :(

Thanks for your time.
« Last Edit: Sun, 05 November 2017, 14:44:37 by reececonrad »
:)

Offline hasu

  •  Moderator
  • Thread Starter
  • Posts: 2805
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [TMK] Keyboard Protocol Converter
« Reply #84 on: Sun, 05 November 2017, 17:43:04 »
It is not common problem and only other SIIG users can really help you. I don't know whether my PS/2 converter works with the keyboard or not.

I found SIIG sells this converter, you can ask them if it works before buying it. They should know the keyhoard.
http://www.siig.com/it-products/usb/converters/usb-to-ps-2-adapter-1246.html
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline rich1051414

  • Posts: 351
  • Location: Decaturville, TN
Re: [TMK] Keyboard Protocol Converter
« Reply #85 on: Mon, 06 November 2017, 04:07:45 »
First I want to say, I love this library, it works perfectly for ADB conversion where all the commercial options have some fairly major issues here and there.

However, I have had 2 problems so far using TMK, so maybe I can knock them both out this weekend, but first I want to ask if there are easily solutions to my problems first.

First, I am having some debounce issues, a couple keys are chattering at around 12ms chatter, so is there a way to add some debounce, of, say, 15ms?

Second is, the equals key on the numpad is non-functional on my AEK. Fairly sure the switch is working fine, but the firmware isn't sending the correct keystroke.
« Last Edit: Mon, 06 November 2017, 04:18:11 by rich1051414 »
Siig Minitouch with Orange Alps, Whitefox 60% Zealios 67g, Realforce 87U 55g Topre, LFK SMK/Alps TKL With SMK 2nd Gen Cherry MX mount switches, NEC APC-H412 NEC Blue Ovals, Unicomp Model-M Spacesaver, XMIT Hall Effect, WASD Code Cherry MX Clear, KBDFans75 Lubed Gateron Greens, Azio MGK L80 Kailh Brown, XD84 Pale Blue Box Kailh, NIB Pingmaster TMK Converted, KPrepublic XD96 Blue aluminum case with Jade Box Kailh

Offline hasu

  •  Moderator
  • Thread Starter
  • Posts: 2805
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [TMK] Keyboard Protocol Converter
« Reply #86 on: Tue, 07 November 2017, 16:07:42 »
First I want to say, I love this library, it works perfectly for ADB conversion where all the commercial options have some fairly major issues here and there.

However, I have had 2 problems so far using TMK, so maybe I can knock them both out this weekend, but first I want to ask if there are easily solutions to my problems first.

First, I am having some debounce issues, a couple keys are chattering at around 12ms chatter, so is there a way to add some debounce, of, say, 15ms?

Second is, the equals key on the numpad is non-functional on my AEK. Fairly sure the switch is working fine, but the firmware isn't sending the correct keystroke.


The converters itself doesn't handle debounce at all  while it depends totally on keyboard side. If you have chattering it is switches or keyboard controller problem.

Windows? It can't recognize numpad eqaul('P=' on keymap editor) unfortunately, while it can be used on Linux and Mac without problem. As you know you can remap the key to normal eqaul('=') or anything you want.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline rich1051414

  • Posts: 351
  • Location: Decaturville, TN
Re: [TMK] Keyboard Protocol Converter
« Reply #87 on: Wed, 08 November 2017, 17:12:57 »
Windows? It can't recognize numpad eqaul('P=' on keymap editor) unfortunately, while it can be used on Linux and Mac without problem. As you know you can remap the key to normal eqaul('=') or anything you want.
OH didn't realize that, thanks!
Siig Minitouch with Orange Alps, Whitefox 60% Zealios 67g, Realforce 87U 55g Topre, LFK SMK/Alps TKL With SMK 2nd Gen Cherry MX mount switches, NEC APC-H412 NEC Blue Ovals, Unicomp Model-M Spacesaver, XMIT Hall Effect, WASD Code Cherry MX Clear, KBDFans75 Lubed Gateron Greens, Azio MGK L80 Kailh Brown, XD84 Pale Blue Box Kailh, NIB Pingmaster TMK Converted, KPrepublic XD96 Blue aluminum case with Jade Box Kailh

Offline hasu

  •  Moderator
  • Thread Starter
  • Posts: 2805
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [TMK] Keyboard Protocol Converter
« Reply #88 on: Thu, 18 January 2018, 23:52:30 »
[ADB-USB Firmware update]
Hi folks,
I got a report from some user about lag on typing with ADB-USB converter the other day. Today I confirmed the lag problem and fixed it. Source code in github repo and firmware binary in Keyboard Editor was updated.

You can download new firmware from Keyboard Editor.
http://www.tmk-kbd.com/tmk_keyboard/editor/unimap/?adb_usb


This problem was related to  ADB mouse support and have been missed for long. Filed it and added some descriptions here. https://github.com/tmk/tmk_keyboard/issues/518

With the new firmware it reads key evernts from keyboard around twice faster than before. That being said, ADB protocol and keyboard controller is not that fast comparing with modern keyboards.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline kishy

  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
Re: [TMK] Keyboard Protocol Converter
« Reply #89 on: Wed, 21 March 2018, 12:23:42 »
hasu,
For the 4704 converter, you've indicated that your keymap editor is available for use with the 62, 77 and 107-key keyboards.

What about the 50-key? I am unaware of what codes it sends (and therefore what, if anything your converter handles it as), but if one were to use a 62-key and want an external numpad and additional functions, the 50-key could be an attractive option. I have one and my eventual goal is to use it in that manner.

I'm not aware of how many people have them, though. It's probably the least desirable 4704 keyboard for various reasons.
« Last Edit: Wed, 21 March 2018, 12:36:23 by kishy »
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline hasu

  •  Moderator
  • Thread Starter
  • Posts: 2805
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [TMK] Keyboard Protocol Converter
« Reply #90 on: Wed, 21 March 2018, 20:44:10 »
hasu,
For the 4704 converter, you've indicated that your keymap editor is available for use with the 62, 77 and 107-key keyboards.

What about the 50-key? I am unaware of what codes it sends (and therefore what, if anything your converter handles it as), but if one were to use a 62-key and want an external numpad and additional functions, the 50-key could be an attractive option. I have one and my eventual goal is to use it in that manner.

I'm not aware of how many people have them, though. It's probably the least desirable 4704 keyboard for various reasons.

Keymap Editor doens't support 50-key  but you can still build firmware for it form source code.
https://github.com/tmk/tmk_keyboard/blob/master/converter/ibm4704_usb/keymap_common.h#L88-L111

Adding 50-key support on Keymap Editor is not difficult at all. But no demand from users so far.
I'll be happy to add 50-key support if customer want. Let me know when you order.

Note that you need two converts for the setup(62-key + 50-key) unfortunately, the converter can handle only one keyboard at same time. 'DB9 Y-splitter cable' may work but I'm not sure.(may not)
« Last Edit: Wed, 21 March 2018, 20:46:23 by hasu »
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline kishy

  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
Re: [TMK] Keyboard Protocol Converter
« Reply #91 on: Fri, 23 March 2018, 09:56:53 »
Great, thanks :)

Unrelated: I have discovered that I have a couple ATmega32-16PU hanging around from an old project I never finished, and am wondering if this AVR is capable of running your converter. Any thoughts?
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline hasu

  •  Moderator
  • Thread Starter
  • Posts: 2805
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [TMK] Keyboard Protocol Converter
« Reply #92 on: Fri, 23 March 2018, 18:37:21 »
Great, thanks :)

Unrelated: I have discovered that I have a couple ATmega32-16PU hanging around from an old project I never finished, and am wondering if this AVR is capable of running your converter. Any thoughts?

It is possible but not recommended.
With that AVR you have to use V-USB, which is software USB engine instead of hardware engine in ATMega32u4/u2. It have to blocks main application code exectution for some time for USB signal handling, this is not problem for keyboard controller but not useful or makes difficult for covnerter in some cases. It is still possible perhaps, but you will have to refine protocol handling code for this.


Thank you for your order! Shipped IBM4704 converter. I'll work on 50-key support later.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Blaise170

  • * Esteemed Elder
  • Posts: 1306
  • Location: Boston, MA
  • ALPS キーボード
    • XYZ
Re: [TMK] Keyboard Protocol Converter
« Reply #93 on: Mon, 02 April 2018, 08:56:53 »
Do you know if the PC98 converter is compatible with PC88?
I proxy anything including keyboards (キーボード / 鍵盤), from both Japan (日本) and China (中國). For more information, you may visit my dedicated webpage here: https://www.keyboards.es/proxying.html

View my current and past keyboards here: https://deskthority.net/wiki/User:Blaise170

Offline hasu

  •  Moderator
  • Thread Starter
  • Posts: 2805
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [TMK] Keyboard Protocol Converter
« Reply #94 on: Wed, 04 April 2018, 20:13:02 »
Do you know if the PC98 converter is compatible with PC88?

They are not compatible.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Dymloslouire

  • Posts: 312
  • Location: ****posting @ r/mk Discord
  • I Love TKL.
Re: [TMK] Keyboard Protocol Converter
« Reply #95 on: Sun, 08 April 2018, 08:40:46 »
Hi Hasu, Quick question;

will your Mini-DIN to USB converter works if i used it with DIN to Mini-DIN first? so the chaining will be;

Keyboard-cable->DIN-to Mini Din Converter->Converter -> USB

how about this?

Jane CE - Jane v2 - 910 RE - 910 RE Polycarbonate - Alice - 420CL - **RT80**

Offline hasu

  •  Moderator
  • Thread Starter
  • Posts: 2805
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [TMK] Keyboard Protocol Converter
« Reply #96 on: Sun, 08 April 2018, 17:59:28 »
Hi Hasu, Quick question;

will your Mini-DIN to USB converter works if i used it with DIN to Mini-DIN first? so the chaining will be;

Keyboard-cable->DIN-to Mini Din Converter->Converter -> USB

how about this?

I assume you are refering to PS/2 converter. If so yes, the converter works with AT keyboard.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Dymloslouire

  • Posts: 312
  • Location: ****posting @ r/mk Discord
  • I Love TKL.
Re: [TMK] Keyboard Protocol Converter
« Reply #97 on: Sun, 08 April 2018, 20:35:14 »
Hi Hasu, Quick question;

will your Mini-DIN to USB converter works if i used it with DIN to Mini-DIN first? so the chaining will be;

Keyboard-cable->DIN-to Mini Din Converter->Converter -> USB

how about this?

I assume you are refering to PS/2 converter. If so yes, the converter works with AT keyboard.


yes, your assumption is correct.
thanks for the answer. there will be order by me in near future  :))

Jane CE - Jane v2 - 910 RE - 910 RE Polycarbonate - Alice - 420CL - **RT80**

Offline dgreekstallion

  • Posts: 215
  • Location: Texas
  • B.S. Fiend
Re: [TMK] Keyboard Protocol Converter
« Reply #98 on: Wed, 11 April 2018, 08:32:33 »
Excited to get my new 6112884 up and running. Are there instructions for this? I got the fully assemble converter.
Recent keyboard fanatic.

Model F-122 convert.

Offline hasu

  •  Moderator
  • Thread Starter
  • Posts: 2805
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [TMK] Keyboard Protocol Converter
« Reply #99 on: Wed, 11 April 2018, 17:52:53 »
Excited to get my new 6112884 up and running. Are there instructions for this? I got the fully assemble converter.

Check first post of this thread and the converter specific thread first. Then you can refer wiki on github. https://github.com/tmk/tmk_keyboard/wiki

Post your question in proper thread if needed. I'm happy to help.
- Keyobard Protocol Converter generic topic: this thread
- IBM 4704 Converter specific topic: https://geekhack.org/index.php?topic=54706.0
- TMK firmware generic topic: https://geekhack.org/index.php?topic=41989.0
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt