Author Topic: USB to USB keyboard converter  (Read 145855 times)

0 Members and 2 Guests are viewing this topic.

Offline Hanks

  • Posts: 16
Re: USB to USB keyboard converter
« Reply #400 on: Mon, 26 November 2018, 20:33:11 »
hmm, it is not what I expected, it may be another issue with your setup.

can you try new firmware to see debug log more? Repluging keyboard a few times would be helpful when getting log. This is log in my setup, just for reference.


Quote
Waiting for new device:......
Listening:
ccpPh2s1cs2cs3ch9host.Task: 2552
__usb_state: 12
usb_state: 20
usb_state: 40
usb_state: 50
usb_state: 51
CcI0cccccchost.Task: 311
usb_state: 90
speed: full
xXh1s1cpPh2s1cs2cs3ch9h1s1cph1s1ccI0ccccccccpPh2s1cs2cs3ch9input 9: 00 00 00 00 00 00 00 00
host.Task: 2552
state:  00 00 00 00 00 00 00 00
__usb_state: 12
usb_state: 20
usb_state: 40
usb_state: 50
usb_state: 51
CcI0cccccchost.Task: 309
usb_state: 90
speed: full
xXTeh1s1cpPh2s1cs2cs3ch9h1s1cph1s1ccI0ccccccccpPh2s1cs2cs3ch9input 9: 00 00 00 00 00 00 00 00
host.Task: 2553
state:  00 00 00 00 00 00 00 00
__usb_state: 12
usb_state: 20
usb_state: 40
usb_state: 50
usb_state: 51
CcI0cccccchost.Task: 309
usb_state: 90
speed: full
xXh1s1cpPh2s1cs2cs3ch9h1s1cph1s1ccI0ccccccccpPh2s1cs2cs3ch9input 9: 00 00 00 00 00 00 00 00
host.Task: 2552
state:  00 00 00 00 00 00 00 00

now I got something like this:
Device disconnected.
Waiting for new device:..
Listening:
usb_state: 20
usb_state: 40
usb_state: 50
usb_state: 51
CcI0cccccchost.Task: 309
usb_state: 90
speed: full
xXh1s1cph1s1cpPh2s1cs2cs3ch9

Offline hasu

  • Thread Starter
  • Posts: 2910
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: USB to USB keyboard converter
« Reply #401 on: Tue, 27 November 2018, 00:34:42 »
Didn't 'repluging only keyboard' show more output?
And what is your os, btw?
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Hanks

  • Posts: 16
Re: USB to USB keyboard converter
« Reply #402 on: Tue, 27 November 2018, 18:09:52 »
Didn't 'repluging only keyboard' show more output?
And what is your os, btw?
My os system is windows 10
I do more test, here is the result:
Waiting for device:      // usb port in my desktop
Listening:         //Hook up converter to USB port first, then replug HHKB into the converter 
usb_state: 20
usb_state: 40
usb_state: 50
usb_state: 51
CcI0cccccchost.Task: 309
usb_state: 90
speed: full
xXh1s1cph1s1cpPh2s1cs2cs3ch9 
Device disconnected.
Waiting for new device:....
Listening:         //Plug HHKB into the converter first, then hook up them to USB port, HHKB no responding.

Device disconnected.
Waiting for new device:....
Listening:         // Unplug HHKB, plug in unifying receiver, unifying keyboard working.
usb_state: 20
usb_state: 40
usb_state: 50
usb_state: 51
CcI0cccccchost.Task: 308
usb_state: 90
speed: full
xXh1s1cph1s1cpPh2s1cs2cs3ch9__usb_state: 12
usb_state: 20
usb_state: 40
usb_state: 50
usb_state: 51
CcI0cI0ccccccchost.Task: 2709
usb_state: 90
speed: full
xXinput 1: 00 00 5D 00 00 00 00 00
state:  00 00 5D 00 00 00 00 00
keyboard: 00 00 5D 00 00 00 00 00
input 1: 00 00 5D 5E 00 00 00 00
state:  00 00 5D 5E 00 00 00 00
keyboard: 00 00 5D 5E 00 00 00 00
input 1: 00 00 5E 00 00 00 00 00
state:  00 00 5E 00 00 00 00 00
keyboard: 00 00 00 5E 00 00 00 00
input 1: 00 00 00 00 00 00 00 00
state:  00 00 00 00 00 00 00 00
keyboard: 00 00 00 00 00 00 00 00
_________________________________________________________
using usb hub with power supply:
Device disconnected.
Waiting for new device:..........//Hook up converter to USB port first, then replug HHKB into the converter
Listening:
usb_state: 20
usb_state: 40
usb_state: 50
usb_state: 51
CcI0cccccchost.Task: 310
usb_state: 90
speed: full
xXh1s1cpPh2s1cs2cs3ch9h1s1cph1s1cpPh2s1cs2cs3ch9__usb_state: 12

Device disconnected.
Waiting for new device:......//Plug HHKB into the converter first, then hook up them to USB port, HHKB no responding.
Listening:
pPh2s1cs2cs3ch9
Device disconnected.
Waiting for new device:.....//Plug HHKB into the converter first, then hook up them to USB port, HHKB no responding.
Listening:
__usb_state: 12// Unplug HHKB, plug in unifying receiver, unifying keyboard working.
usb_state: 20
usb_state: 40
usb_state: 50
usb_state: 51
CcI0cI0ccccccchost.Task: 2709
usb_state: 90
speed: full
xXinput 1: 00 00 5A 00 00 00 00 00
state:  00 00 5A 00 00 00 00 00
keyboard: 00 00 5A 00 00 00 00 00
input 1: 00 00 00 00 00 00 00 00
state:  00 00 00 00 00 00 00 00
keyboard: 00 00 00 00 00 00 00 00

Offline hasu

  • Thread Starter
  • Posts: 2910
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: USB to USB keyboard converter
« Reply #403 on: Wed, 28 November 2018, 01:07:26 »
Hanks,
Thanks for the log. I don't see any clear clue so far, though, I'm still suspecting voltage as one of causes. Your log doesn't show error I found in my setup, your problem may be different, perhaps.

I'll work on the Hub intialization issue I found anyway, I'll let you know if I find something there.

What's your desktop mother board? I like to know USB host controller(chipset) in particular.
And, is your converter TMK preassembled one or DIY?

TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Hanks

  • Posts: 16
Re: USB to USB keyboard converter
« Reply #404 on: Wed, 28 November 2018, 09:44:50 »
Hanks,
Thanks for the log. I don't see any clear clue so far, though, I'm still suspecting voltage as one of causes. Your log doesn't show error I found in my setup, your problem may be different, perhaps.

I'll work on the Hub intialization issue I found anyway, I'll let you know if I find something there.

What's your desktop mother board? I like to know USB host controller(chipset) in particular.
And, is your converter TMK preassembled one or DIY?
Hasu, thanks very much for your help :). My motherboard is asus b350i(chipset AMD b350), My converter is a DIY one. It's my exam week recently, I will test it on another computer later to see if I can get some different log.

Offline 1ceman

  • Posts: 4
  • Location: The Netherlands
Re: USB to USB keyboard converter
« Reply #405 on: Wed, 02 January 2019, 15:02:19 »
I've just received the USB-USB converter and I'm trying to make it work with my Novatouch. The main thing for me was to remap Caps Lock key to Ctrl when holding and Esc when tapped. This part worked flawlessly. Then I wanted to map the now missing Caps Lock to Fn + Tab. This is where I'm stuck now. I'm trying to use the online layout editor and it seems that Fn key (which is mapped to L1) is not doing anything. Am I doing something wrong? Should I try to build the firmware and drop the online editor? Here is the layout I'm flashing: https://bit.ly/2BSo8O2

P.S. When I first connected the converter, there was a glowing LED on it. After flashing it, LED is not glowing. Is this by design?

Offline hasu

  • Thread Starter
  • Posts: 2910
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: USB to USB keyboard converter
« Reply #406 on: Wed, 02 January 2019, 17:18:40 »
In that L1 key position is Application (or Menu) key on usual  keyboards while it is FN in Novatouch. As Limitations section in first post says the converter cannot remap the FN key. You have to move L1 to o other key like right control or right windows(RGUI). If Novatouch can change the FN key to any normal key somehow, you can remap the key with the converter.

Yes I changed how LED works at some point.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline 1ceman

  • Posts: 4
  • Location: The Netherlands
Re: USB to USB keyboard converter
« Reply #407 on: Wed, 02 January 2019, 17:40:03 »
That was a very fast reply, thank you!

Offline PierceSutton

  • Posts: 17
Re: USB to USB keyboard converter
« Reply #408 on: Sun, 13 January 2019, 22:19:58 »
I'm not entirely sure this is how it works, I know very little about C, but here is my attempt on making another key modifier for rapid tapping when you are holding a certain key.
Code: [Select]
#ifndef RAPID_TAPPING
    dprint(" layer_state: "); layer_debug();
    dprint(" default_layer_state: "); default_layer_debug();
#endif
    dprintln();
    int x = 1;
    switch (action.kind.id) {
        case ACT_LMODS:
        case ACT_RMODS:
            {
                uint8_t mods = (action.kind.id == ACT_LMODS) ?  action.key.mods :
                                                                action.key.mods<<4;
                if (event.pressed && x = 1) {
                    if (mods) {
                        add_weak_mods(mods);
                        send_keyboard_report();
                        x = 0;
                    }
                    register_code(action.key.code);
                } else {
                    x = 1;
                    unregister_code(action.key.code);
                    if (mods) {
                        del_weak_mods(mods);
                        send_keyboard_report();
                    }
                }
            }
            break;
So I copied what I believed to be the default key press and made it so that every time it registers a press it changes an int so that the next time it will skip, and every time it skips or the key is not being press, it changes the int value so that it wont skip the next time. My only worry is that the int will keep being changed every time the method is called so that  it doesn't skip.
Original Apple Extended, Orange Alps

Offline hasu

  • Thread Starter
  • Posts: 2910
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: USB to USB keyboard converter
« Reply #409 on: Mon, 14 January 2019, 07:05:42 »
I think you want to use 'static variable' for the int x. Just try adding 'static' to it.
https://en.wikipedia.org/wiki/Static_variable
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline ustczzh

  • Posts: 2
Re: USB to USB keyboard converter
« Reply #410 on: Mon, 14 January 2019, 07:23:27 »
Thanks to Hasu, I made my usb to usb converter with Pro Micro and USB Host Shield mini.
210551-0

I found a special kind of bluetooth adapter, "DXT28", which is originally made for bluetooth keyboard support for Hackintosh or BIOS.
I think it acts as a bluetooth master device, stores the last successful connection in its own EEPROM and can start auto-connection once powered.
210553-1

I use it with usb to usb converter, so that HHKB BT can have tmk firmware. Finally, Customizable keymap for HHKB BT! Thank you very much, Hasu!
210555-2

Another picture for DXT28. It only supports up to bluetooth 3.0.
210606-3
« Last Edit: Mon, 14 January 2019, 21:08:38 by ustczzh »

Offline PierceSutton

  • Posts: 17
Re: USB to USB keyboard converter
« Reply #411 on: Mon, 14 January 2019, 17:04:32 »
How would I assign a key to "RAPID_TAPPING", Also how would I set it to a second transparent layer since I only want to add it to space bar when needed.
I have not done any modifications to the files other than action.c , will I need to add the method to action.h ???
Original Apple Extended, Orange Alps

Offline hasu

  • Thread Starter
  • Posts: 2910
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: USB to USB keyboard converter
« Reply #412 on: Mon, 14 January 2019, 17:23:31 »
ustczzh, thanks for the report. Added it to the first post.

PierceSutton,
1) include that code in action_function() of unimap.c.
2) define action name like AC_RAPPID_TAPPING(or other short useful name) using 'ACTION_FUNCTION_TAP' in unimap.c. you must have  'AC_'  prefix in the name. Like this line,
https://github.com/tmk/tmk_keyboard/blob/master/keyboard/hhkb/unimap_hasu.c#L41

3) use the name without 'AC_' in action mapping(actionmaps[][][]).

You can refer to this code but it may be complicated. No clear document about this, you will have to traverse source code in the repo and speculate how action_function() works at this time unfortunately.
https://github.com/tmk/tmk_keyboard/blob/master/keyboard/hhkb/unimap_hasu.c
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline PierceSutton

  • Posts: 17
Re: USB to USB keyboard converter
« Reply #413 on: Tue, 15 January 2019, 13:42:27 »
Could you specify which unimap.c file, Do you mean the one in converter or the the one in tmk_core.
Original Apple Extended, Orange Alps

Offline hasu

  • Thread Starter
  • Posts: 2910
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: USB to USB keyboard converter
« Reply #414 on: Wed, 16 January 2019, 17:31:01 »
Could you specify which unimap.c file, Do you mean the one in converter or the the one in tmk_core.

I meant one in converter directory.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline fr08

  • Posts: 9
Re: USB to USB keyboard converter
« Reply #415 on: Mon, 21 January 2019, 11:35:28 »
I can report that the converter works just fine with the Varmilo VA88M :)  :thumb:

Also works with my Max Falcon 8, but I'm guessing that's a bit more obscure

Offline Hypersphere

  • Posts: 1855
  • Location: USA
Re: USB to USB keyboard converter
« Reply #416 on: Fri, 25 January 2019, 13:44:18 »
Has anyone else here done 3D printing of the Hasu USB-USB enclosure (case)?

I had the STL file printed for me. The USB-USB converter with the shrink wrap does not fit into the enclosure. I have not yet tried it without the shrink wrap. I suppose the dimensions of the enclosure were based on the bare USB-USB converter without the shrink wrap. It looks as though it will be a tight fit even without the shrink wrap.


Offline Gouty

  • Posts: 38
Re: USB to USB keyboard converter
« Reply #417 on: Mon, 28 January 2019, 17:52:07 »
Hi! Yeah, the case was designed without heat shrink on the PCB in mind.  Maybe if I get around to a proper version 2 I'll give it a little more space.

Also, something tells me that Hasu is going to be busy in the near future:


Offline fine_italian_leather

  • Posts: 135
  • Location: Sweden
Re: USB to USB keyboard converter
« Reply #418 on: Mon, 28 January 2019, 17:58:56 »
Congrats on getting featured on LTT!

Offline PatrickR

  • Posts: 6
Re: USB to USB keyboard converter
« Reply #419 on: Sun, 17 February 2019, 09:52:00 »
Thanks to Hasu, I made my usb to usb converter with Pro Micro and USB Host Shield
Hello ustczzh,

I tried it also with an Pro Micro and USB Host Shield mini.
But I guess I took the wrong files. It doesn‘t work.
Then I had to priorize other tasks.
Maybe you can share your files which you used ?
That would be great.
It would be a very good point for me to start again.

Many thanks in advance.

Best wishes,
Patrick
« Last Edit: Sun, 17 February 2019, 09:53:40 by PatrickR »

Offline Hypersphere

  • Posts: 1855
  • Location: USA
Re: USB to USB keyboard converter
« Reply #420 on: Wed, 20 February 2019, 13:10:19 »
@Hasu: I am using your USB-USB converter with my new RF R2 TKL PFU Edition keyboard. It works fine, except when I reboot the computer, I need to unplug and replug the converter into the computer in order to get the keboard to work. Is this normal?


Offline ustczzh

  • Posts: 2
Re: USB to USB keyboard converter
« Reply #421 on: Sun, 24 February 2019, 06:04:02 »
Thanks to Hasu, I made my usb to usb converter with Pro Micro and USB Host Shield
Hello ustczzh,

I tried it also with an Pro Micro and USB Host Shield mini.
But I guess I took the wrong files. It doesn‘t work.
Then I had to priorize other tasks.
Maybe you can share your files which you used ?
That would be great.
It would be a very good point for me to start again.

Many thanks in advance.

Best wishes,
Patrick

1, Make sure you choose the right model of Pro Micro, which should be 3.3v@8MHz. 3.3v
is needed by USB Host Shield mini.

2, Since the MCU frequency is 8MHz, you should set these values in Makefile.
F_CPU = 8000000
F_USB = 8000000

Offline PierceSutton

  • Posts: 17
Re: USB to USB keyboard converter
« Reply #422 on: Sun, 24 February 2019, 11:52:08 »
I have given up on scripting my own "RAPID_TAPPING" or turbo method in hasu's software. Seeing that I don't have enough experience with C and also the fact that many of the files have same/similar names will sometimes gets me lost in what I'm trying to do. However if anyone would like to continue or start a similar project, I hope I can be of assistance to them. 

Hasu, if you could add a turbo method into your software that would be extremely helpful. I have found other keyboard converter software for teensy 2.0 that includes a turbo mode, but only for a usb to usb type conversion. However I am using an Apple Extended Keyboard which uses an ADB port, therefore I am limited to what you put out seeing that your software is the only that I've seen that supports ADB.

(Sorry for posting here, I couldn't find the topic on converter software development)
Original Apple Extended, Orange Alps

Offline hasu

  • Thread Starter
  • Posts: 2910
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: USB to USB keyboard converter
« Reply #423 on: Mon, 25 February 2019, 06:22:06 »
PierceSutton, what is 'RAPID_TAPPING' and 'turbo mode/method you are refering?
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline PierceSutton

  • Posts: 17
Re: USB to USB keyboard converter
« Reply #424 on: Sat, 02 March 2019, 01:05:17 »
PierceSutton, what is 'RAPID_TAPPING' and 'turbo mode/method you are refering?

Turbo mode was a feature that was on some old game controllers. What it did was that when pressed, buttons you held down would be read as you rapidly tapping that button rather than just holding it down. So if I set the turbo mode on spacebar, when I hold down spacebar the computer will register it as spacebar being pressed, then released, then pressed over and over again until the key is no longer being pressed.

If you meant what I  was referring to, I was referring to a method I was trying to add to your list of action keys. I put some posts earlier in this topic of what I was trying to do.
« Last Edit: Sat, 02 March 2019, 01:09:07 by PierceSutton »
Original Apple Extended, Orange Alps

Offline tofgerl

  • Posts: 887
  • Location: Norway
Re: USB to USB keyboard converter
« Reply #425 on: Sun, 10 March 2019, 08:15:15 »
I'm confused, this keymap used to work, but now I get this error:

Code: [Select]
In file included from keymap.c:1:
keymap_common.h:85:77: error: called object is not a function or function pointer
       KC_##K28, KC_##K29, KC_##K2A, KC_##K2B, KC_##K2C, KC_##K2D, KC_##K2E, KC_##K2F }, /* 28-2F */ \
                                                                             ^~~
keymap.c:48:11: note: in expansion of macro 'KEYMAP_ALL'
     [1] = KEYMAP_ALL(
           ^~~~~~~~~~
keymap_common.h:86:37: error: called object is not a function or function pointer
     { KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37,   /* 30-37 */ \
                                     ^~~
keymap.c:48:11: note: in expansion of macro 'KEYMAP_ALL'
     [1] = KEYMAP_ALL(
           ^~~~~~~~~~
keymap_common.h:86:47: error: called object is not a function or function pointer
     { KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37,   /* 30-37 */ \
                                               ^~~
keymap.c:48:11: note: in expansion of macro 'KEYMAP_ALL'
     [1] = KEYMAP_ALL(
           ^~~~~~~~~~
make: *** [obj_usb_usb/keymap.o] Error 1

https://gist.github.com/to***erl/bb63d35e363fca7cc48d1de1af55d6ef

Any ideas?

Offline hasu

  • Thread Starter
  • Posts: 2910
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: USB to USB keyboard converter
« Reply #426 on: Sun, 10 March 2019, 09:02:57 »

https://gist.github.com/to***erl/bb63d35e363fca7cc48d1de1af55d6ef


The link is not accessible, it seems it was censored by system software?
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline tofgerl

  • Posts: 887
  • Location: Norway
Re: USB to USB keyboard converter
« Reply #427 on: Sun, 10 March 2019, 12:51:20 »

https://gist.github.com/to***erl/bb63d35e363fca7cc48d1de1af55d6ef


The link is not accessible, it seems it was censored by system software?

Oh yeah, this forum software is REALLY horrible...
What I wouldn't give for a transfer to Discourse

https://bit.ly/2HpOnjc

Offline hasu

  • Thread Starter
  • Posts: 2910
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: USB to USB keyboard converter
« Reply #428 on: Sun, 10 March 2019, 17:07:23 »
You can't use undefined LALT() there. I think it is QMK specific notation.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline tofgerl

  • Posts: 887
  • Location: Norway
Re: USB to USB keyboard converter
« Reply #429 on: Mon, 11 March 2019, 03:36:15 »
You can't use undefined LALT() there. I think it is QMK specific notation.

/d'oh gif

Then why did I think it worked? I must have moved that from one of my QMK keyboard configs without testing it at some point...

Thanks, man!

Offline AdrianMan

  • Posts: 51
Re: USB to USB keyboard converter
« Reply #430 on: Mon, 11 March 2019, 14:03:08 »
Thanks for the report. I just updated first post.

If you have time could you post 'USB descriptor' of MK02S? It may give some useful info to fix firmware.
https://github.com/tmk/tmk_keyboard/wiki/USB-Descriptor

Hey Hasu, managed to get the keyboard home at last :)

Here is the USB Descriptor log for the Xiaomi MK02s TKL Keyboard:

Information for device USB KB (VID=0x0483 PID=0x5710):

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

Device Descriptor:
------------------------------
0x12   bLength
0x01   bDescriptorType
0x0200   bcdUSB
0x00   bDeviceClass     
0x00   bDeviceSubClass   
0x00   bDeviceProtocol   
0x40   bMaxPacketSize0   (64 bytes)
0x0483   idVendor
0x5710   idProduct
0x0202   bcdDevice
0x01   iManufacturer   "STMicroelectronics"
0x02   iProduct   "USB 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)
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)
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)
0x01   bInterval         (1 frames)

Interface Descriptor:
------------------------------
0x09   bLength
0x04   bDescriptorType
0x01   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)
0x004D   bDescriptorLength

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

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

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

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

Connection path for device:
USB xHCI Compliant Host Controller
Root Hub
USB KB (VID=0x0483 PID=0x5710) Port: 1

Running on: Windows 10 or greater

Brought to you by TDD v2.11.0, Mar 26 2018, 09:54:50


______________________________

Let me know if you need anything else :)
Thanks !

Offline AdrianMan

  • Posts: 51
Re: USB to USB keyboard converter
« Reply #431 on: Mon, 11 March 2019, 14:10:41 »
Thanks for the report. I just updated first post.

If you have time could you post 'USB descriptor' of MK02S? It may give some useful info to fix firmware.
https://github.com/tmk/tmk_keyboard/wiki/USB-Descriptor

Hey Hasu, managed to get the keyboard home at last :)

Here is the USB Descriptor log for the Xiaomi MK02s TKL Keyboard:

......
______________________________

Let me know if you need anything else :)
Thanks !

I attched another descriptor using USBlyzer

Offline hasu

  • Thread Starter
  • Posts: 2910
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: USB to USB keyboard converter
« Reply #432 on: Mon, 11 March 2019, 18:50:50 »
Thanks for the report. I just updated first post.

If you have time could you post 'USB descriptor' of MK02S? It may give some useful info to fix firmware.
https://github.com/tmk/tmk_keyboard/wiki/USB-Descriptor

Hey Hasu, managed to get the keyboard home at last :)

Here is the USB Descriptor log for the Xiaomi MK02s TKL Keyboard:

......
______________________________

Let me know if you need anything else :)
Thanks !

I attched another descriptor using USBlyzer

Thanks for the info! It is greatly useful.

The keyboard has two interfaces, the first one is for standard 6KRO and the second is for NKRO and media keys. I guess USB-USB converter fails to make the keyboard turned NKRO into 6KRO mode for some reason. Debug prints on hid_listen console would be helpful to know what happens there. Could you post it when you have time?
https://www.pjrc.com/teensy/hid_listen.html
https://github.com/tmk/tmk_keyboard/wiki/FAQ#debug-console

It seems the keyobard always send modifier keys through 6KRO interface even if it is in NKRO mode. I guess the converter should handle modeifier keys at least, can you confirm this with tool like switchhitter?
http://elitekeyboards.com/switchhitter.php

Also, do you know the keyboard(without the converter) works on BIOS/UEFI screen without problem? I think BIOS/UEFI requires keyboards to send all keys in 6KRO instead of NKRO. If the keyobard works well it means the converter probably has some glitch on mode switching and it would be fixable by firmware.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline irek

  • Posts: 3
Re: USB to USB keyboard converter
« Reply #433 on: Tue, 12 March 2019, 09:55:15 »
Hello! I have bought USB-USB converter mostly to workaround this problem – https://www.reddit.com/r/HyperX/comments/arswbk/request_fw_for_fps_pro_keyboard_with_hardcoded/ and make the keyboard macOS compatible. Converter works fine with Alloy FPS Pro, but the problem is still exists even with converter. Random keys randomly stop working still.

Also I have tried to build and flash firmware with uncommented string
Code: [Select]
NKRO_ENABLE ?= yes # USB Nkey RolloverResult – keyboard (or converter) starts to generate random keypresses itself.

Here is some info:
Code: [Select]
Bus 001 Device 007: ID 0951:16d2 Kingston Technology
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x0951 Kingston Technology
  idProduct          0x16d2
  bcdDevice           21.12
  iManufacturer           1 Kingston
  iProduct                2 HyperX Alloy FPS Pro Mechanical Gaming Keyboard
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0054
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              480mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      79
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      2 Mouse
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      51
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      37
          Report Descriptor: (length is 37)
            Item(Global): Usage Page, data= [ 0x01 ] 1
                            Generic Desktop Controls
            Item(Local ): Usage, data= [ 0x06 ] 6
                            Keyboard
            Item(Main  ): Collection, data= [ 0x01 ] 1
                            Application
            Item(Global): Usage Page, data= [ 0x07 ] 7
                            Keyboard
            Item(Local ): Usage Minimum, data= [ 0xe0 ] 224
                            Control Left
            Item(Local ): Usage Maximum, data= [ 0xe7 ] 231
                            GUI Right
            Item(Global): Logical Minimum, data= [ 0x00 ] 0
            Item(Global): Logical Maximum, data= [ 0x01 ] 1
            Item(Global): Report Size, data= [ 0x01 ] 1
            Item(Global): Report Count, data= [ 0x08 ] 8
            Item(Main  ): Input, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Local ): Usage Minimum, data= [ 0x00 ] 0
                            No Event
            Item(Local ): Usage Maximum, data= [ 0x6f ] 111
                            F20
            Item(Global): Logical Minimum, data= [ 0x00 ] 0
            Item(Global): Logical Maximum, data= [ 0x01 ] 1
            Item(Global): Report Size, data= [ 0x01 ] 1
            Item(Global): Report Count, data= [ 0x70 ] 112
            Item(Main  ): Input, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Main  ): End Collection, data=none
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000f  1x 15 bytes
        bInterval               1
Device Status:     0x0000
  (Bus Powered)

Code: [Select]
Usage Page (Desktop),               ; Generic desktop controls (01h)
Usage (Keyboard),                   ; Keyboard (06h, application collection)
Collection (Application),
    Usage Page (Keyboard),          ; Keyboard/keypad (07h)
    Usage Minimum (KB Leftcontrol), ; Keyboard left control (E0h, dynamic value)
    Usage Maximum (KB Right GUI),   ; Keyboard right GUI (E7h, dynamic value)
    Logical Minimum (0),
    Logical Maximum (1),
    Report Size (1),
    Report Count (8),
    Input (Variable),
    Usage Minimum (None),           ; No event (00h, selector)
    Usage Maximum (KB F20),         ; Keyboard F20 (6Fh, selector)
    Logical Minimum (0),
    Logical Maximum (1),
    Report Size (1),
    Report Count (112),
    Input (Variable),
End Collection,
Usage Page (Consumer),              ; Consumer (0Ch)
Usage (Consumer Control),           ; Consumer control (01h, application collection)
Collection (Application),
    Report ID (3),
    Usage Minimum (00h),
    Usage Maximum (1FFFh),
    Logical Minimum (0),
    Logical Maximum (8191),
    Report Size (16),
    Report Count (1),
    Input,
End Collection,
Usage Page (FF1Ch),                 ; FF1Ch, vendor-defined
Usage (92h),
Collection (Application),
    Report ID (4),
    Usage Minimum (00h),
    Usage Maximum (FFh),
    Logical Minimum (0),
    Logical Maximum (255),
    Report Size (8),
    Report Count (63),
    Feature (Variable),
End Collection,
Usage Page (Desktop),               ; Generic desktop controls (01h)
Usage (Keyboard),                   ; Keyboard (06h, application collection)
Collection (Application),
    Usage Page (Keyboard),          ; Keyboard/keypad (07h)
    Usage Minimum (KB Leftcontrol), ; Keyboard left control (E0h, dynamic value)
    Usage Maximum (KB Right GUI),   ; Keyboard right GUI (E7h, dynamic value)
    Logical Minimum (0),
    Logical Maximum (1),
    Report Size (1),
    Report Count (8),
    Input (Variable),
    Report Count (1),
    Report Size (8),
    Input (Constant),
    Report Count (5),
    Report Size (1),
    Usage Page (LED),               ; LEDs (08h)
    Usage Minimum (01h),
    Usage Maximum (05h),
    Output (Variable),
    Report Count (1),
    Report Size (3),
    Output (Constant),
    Report Count (6),
    Report Size (8),
    Logical Minimum (0),
    Logical Maximum (255),
    Usage Page (Keyboard),          ; Keyboard/keypad (07h)
    Usage Minimum (None),           ; No event (00h, selector)
    Usage Maximum (FFh),
    Input,
    Usage Page (Consumer),          ; Consumer (0Ch)
    Usage (00h),
    Logical Minimum (-128),
    Logical Maximum (127),
    Report Count (64),
    Report Size (8),
    Feature (Variable),
End Collection

Keyboard supports BIOS/UEFI mode without converter of course.

Do you have any ideas what is wrong?

Thank you!
« Last Edit: Tue, 12 March 2019, 09:59:22 by irek »

Offline hasu

  • Thread Starter
  • Posts: 2910
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: USB to USB keyboard converter
« Reply #434 on: Wed, 13 March 2019, 07:11:32 »
The converter won't fix defective keyboard, it just passes key events from keyboard to computer basically.

Does the keyboard have the problem only with MacOS? You never have the problem on Linux or Windows?

EDIT:
I meant original keyboard defect(not converter) by "the problem" here. I'm curious about whether your keyboard works well on those OSes other than MacOS(without converter).

EDIT:
USB-USB converter doesn't support NKRO mode. Build firmware without NKRO_ENABLE option. If you enable the option the result
is  unpredictable.
« Last Edit: Wed, 13 March 2019, 07:34:57 by hasu »
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline nevin

  • Posts: 387
  • Location: US
Re: USB to USB keyboard converter
« Reply #435 on: Wed, 13 March 2019, 08:17:53 »
mac definitely does not like NKRO. 6 is max. and keyboard companies do all kinds of weird/voodoo things to get NKRO.

here's a thought... and an extra piece to put in your chain going from your keyboard to your computer.....
try... USB -> PS2 (passive adapter) -> PS2 to USB
see article: https://deskthority.net/wiki/NKRO-over-USB_issues

from the reddit link above:
215064-0
« Last Edit: Wed, 13 March 2019, 08:28:21 by nevin »
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline irek

  • Posts: 3
Re: USB to USB keyboard converter
« Reply #436 on: Wed, 13 March 2019, 12:44:22 »
Hello! Thanks for the answers!

Quote
The converter won't fix defective keyboard, it just passes key events from keyboard to computer basically.
The idea was that the converter would make it possbile to force the keyboard work in 6KRO (boot mode) mode only. Is it technically possible? This is probably a stupid question, so please forgive me.

Quote
Does the keyboard have the problem only with MacOS? You never have the problem on Linux or Windows?

EDIT:
I meant original keyboard defect(not converter) by "the problem" here. I'm curious about whether your keyboard works well on those OSes other than MacOS(without converter).
Yes, only with macOS (w/o converter). It works fine on Windows (w/o converter).
Of course, the problem is not converter related. I am very glad that I bought it. Thank for this wonderful tool!

Quote
EDIT:
USB-USB converter doesn't support NKRO mode. Build firmware without NKRO_ENABLE option. If you enable the option the result
is  unpredictable.
It's worth a try :]


Quote
here's a thought... and an extra piece to put in your chain going from your keyboard to your computer.....
try... USB -> PS2 (passive adapter) -> PS2 to USB
see article: https://deskthority.net/wiki/NKRO-over-USB_issues
I tried it. Keyboard -> USB to PS/2 passive adapter -> Old PC with PS/2 port. No luck. This keyboard doesn't work with PS/2.


It seems to me it's time to calm down and to admit that this keyboard is really crappy.

Offline nevin

  • Posts: 387
  • Location: US
Re: USB to USB keyboard converter
« Reply #437 on: Wed, 13 March 2019, 13:14:47 »
"It seems to me it's time to calm down and to admit that this keyboard is really crappy."

even if that's the case, and you're totally S.O.L. you could pull it apart and use most of the parts for a build.... so not a total loss, will just get you deeper into this hobby.

and if your model is the Alloy FPS Pro, it looks like it's a pretty standard TKL... possibly, just swap out the pcb?
that's what i did with my 1st 60% (started out as a KBTalking Pure, started to fail so swapped in a GH60 pcb, better than new!)
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline irek

  • Posts: 3
Re: USB to USB keyboard converter
« Reply #438 on: Wed, 13 March 2019, 16:57:05 »
"It seems to me it's time to calm down and to admit that this keyboard is really crappy."

even if that's the case, and you're totally S.O.L. you could pull it apart and use most of the parts for a build.... so not a total loss, will just get you deeper into this hobby.

and if your model is the Alloy FPS Pro, it looks like it's a pretty standard TKL... possibly, just swap out the pcb?
that's what i did with my 1st 60% (started out as a KBTalking Pure, started to fail so swapped in a GH60 pcb, better than new!)

Yes, It's good option. Thank you! I will dig deeper into it after some experiments with keyboard firmware.

Offline hasu

  • Thread Starter
  • Posts: 2910
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: USB to USB keyboard converter
« Reply #439 on: Wed, 13 March 2019, 19:29:28 »
Hello! Thanks for the answers!

Quote
The converter won't fix defective keyboard, it just passes key events from keyboard to computer basically.
The idea was that the converter would make it possbile to force the keyboard work in 6KRO (boot mode) mode only. Is it technically possible? This is probably a stupid question, so please forgive me.

Yes, the converter requests NKRO keyboard to turn into 'boot mode'(6KRO) because it doesn't support NKRO report from the keyboard at all. So the keyobard works in 6KRO with converter and I guess it still have problem even in 6KRO.


Quote
Quote
Does the keyboard have the problem only with MacOS? You never have the problem on Linux or Windows?

EDIT:
I meant original keyboard defect(not converter) by "the problem" here. I'm curious about whether your keyboard works well on those OSes other than MacOS(without converter).
Yes, only with macOS (w/o converter). It works fine on Windows (w/o converter).
Of course, the problem is not converter related. I am very glad that I bought it. Thank for this wonderful tool!

hmm, interesting... I can't come up with any idea why the issue happens only with MacOS.
USB descriptor may have minor issue somewhere and which occurs the problem only on the OS perhaps.

Hope the manufacturer can fix it with next firmware update.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Hypersphere

  • Posts: 1855
  • Location: USA
Re: USB to USB keyboard converter
« Reply #440 on: Mon, 18 March 2019, 18:07:18 »
@hasu: Any progress yet on the issue with the USB-USB converter and a RF R2 keyboard not being recognized when rebooting or when using a KM switch to switch among computers that are sharing the keyboard?

I am still finding it necessary to unplug and replug the USB-USB converter whenever I reboot or switch to another computer.

I had wondered if the problem could be due to some sort of signal interference, so I tried putting ferrite cores on the cables on each side of the converter, but this did not help.

Thanks.

Offline hasu

  • Thread Starter
  • Posts: 2910
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: USB to USB keyboard converter
« Reply #441 on: Mon, 18 March 2019, 18:23:39 »
@hasu: Any progress yet on the issue with the USB-USB converter and a RF R2 keyboard not being recognized when rebooting or when using a KM switch to switch among computers that are sharing the keyboard?

I am still finding it necessary to unplug and replug the USB-USB converter whenever I reboot or switch to another computer.

I had wondered if the problem could be due to some sort of signal interference, so I tried putting ferrite cores on the cables on each side of the converter, but this did not help.

Thanks.


No, no progress.
I confirmed the converter stop working sometimes after rebooting or powering computer. But I cannot find how to reproduce the issue consistently and it makes debug process difficult.

Can you share specific model number of your computer and KM switch?
And do you have the issue only with RF R2? what if with other keyboard?

TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline nevin

  • Posts: 387
  • Location: US
Re: USB to USB keyboard converter
« Reply #442 on: Mon, 18 March 2019, 21:11:56 »
i'm familiar with the KVM issue: randomly dropping/not recognizing a usb device on switching. (it's not USB to USB specific) i would have intermittent trouble with the mouse i was using when switching .....if memory serves (mouse was noting special)

i don't have a usb converter but i have a TMK converter (DIY Teensy), Griffin iMate  and i have a KVM (Trendnet TK-207) and the keyboards in my signature. let me know if i can lend a hand testing or whatever.
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline Hypersphere

  • Posts: 1855
  • Location: USA
Re: USB to USB keyboard converter
« Reply #443 on: Wed, 20 March 2019, 12:58:12 »
@hasu: Any progress yet on the issue with the USB-USB converter and a RF R2 keyboard not being recognized when rebooting or when using a KM switch to switch among computers that are sharing the keyboard?

I am still finding it necessary to unplug and replug the USB-USB converter whenever I reboot or switch to another computer.

I had wondered if the problem could be due to some sort of signal interference, so I tried putting ferrite cores on the cables on each side of the converter, but this did not help.

Thanks.


No, no progress.
I confirmed the converter stop working sometimes after rebooting or powering computer. But I cannot find how to reproduce the issue consistently and it makes debug process difficult.

Can you share specific model number of your computer and KM switch?
And do you have the issue only with RF R2? what if with other keyboard?
Main host computer: 2013 Mac Pro running Windows 10 v 1809 on the bare metal (no virtualization or Bootcamp).

Other attached computers: Microway PC and Puget Systems PC running Linux Mint 19.1 Xfce.

KVM switch: Iogear DVI KVMP switch with audio. I do not use the video feature of the switch.

I also have a series of powered USB hubs between the KVM switch and the host computer.

Current keyboard: RF R2 PFU Edition silent TKL.

However, I think that the problem is localized to the USB-USB converter. This is because I still get the problem when the converter is connected directly to the computer and the keyboard is connected directly to the converter. I also still get the problem with direct connection to the linux PCs. In addition, I still get the problem with other keyboards. So, it appears that the problem is not in the KVM switch, hubs, computers, or keyboards.

Again, what happens is the keyboard is not responsive after restarting the computer, starting after a complete shutdown of the computer, or using the KVM switch to switch to other computers. In order to get the keyboard to register, I have to physically unplug the converter from the hub or computer and plug it in again.

This issue happens most of the time, but sometimes it does not happen. If I recall correctly, I think that the times it sometimes does not happen is when using the KVM switch to switch from one computer to another.






Offline nevin

  • Posts: 387
  • Location: US
Re: USB to USB keyboard converter
« Reply #444 on: Wed, 20 March 2019, 14:51:55 »
NKRO conflict with OS?
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline zucca

  • Posts: 14
Re: USB to USB keyboard converter
« Reply #445 on: Wed, 20 March 2019, 18:44:44 »
I watched the TaranHV Video on YT and I convinced myself this USB to USB converter is a gem.
A few weeks later I had already four HASU USB USB converters delivered from Japan to Germany, thanks HASU.

I flashed the F24.hex founded here:
https://github.com/TaranVH/2nd-keyboard/blob/master/HASU_USB/F24/F24.hex

Unfortunately I am also experiencing massive reboot problems.

At work (Win10 1803, Keyboard HP KU-1156), there is no way I can get it working after a reboot. Tried everything: Monitor USB Hub, With or without docking station. Laptop HP won't play nicely with the converter.

At home I have a Lenovo P51 and a Desktop PC. In the Desktop PC I occasionally get it working if I connected it at the monitor USB 3.0 hub otherwise no way.

Tonight I focused on the P51, Win 10 Pro 1809, keyboard HP KU-0133.

I am a EE so I fired up my scope to understand what happens on the 5V USB during a reboot.
I used this USB jig to separate the 5v power buses:
https://oshpark.com/shared_projects/EwXI88CL

Here what happen with a  50OHm resistor connected between 5V and ground,

with AC charger connected


without AC Charger


I tried then to feed both HASU USB Converter with an external 5V source to understand if something was changing. I tried to keep the 5V constantly on the HASU Conv. connected with the keyboard or just at the keyboard without USB Converter. See pictures:


No changes, always no keyboard after reboot.

So I decided to plug it directly to the Lenovo P51 and run some tests.

Statistically here what I got

device manager ok means I got the device HID\VID_FEED&PID_005B&MI_00\7&391144F0&0&0000 in the device tree.


what scared me the most, at a certain point the HASU USB was blocking the PC boot, the Lenovo was stuck with the boot logo on the screen. Anyway after a replug everything was ok.

To me everything works if I plug the keyboard AFTER I connect the HASU to the PC. Maybe putting a transistor which enable the 5V keyboard after the handshake with the PC has completed could help.
« Last Edit: Thu, 21 March 2019, 03:43:08 by zucca »

Offline hasu

  • Thread Starter
  • Posts: 2910
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: USB to USB keyboard converter
« Reply #446 on: Thu, 21 March 2019, 13:17:00 »
Thank you for the info, guys.
I'll look into the boot time problem this weekend again.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline zucca

  • Posts: 14
Re: USB to USB keyboard converter
« Reply #447 on: Thu, 21 March 2019, 17:21:24 »
Thanks Hasu,

let me know if I can help somehow. You are so close to perfection!

PS: I am thinking to get a Lecroy Mercury T2 to debug the boot up sequence if you want.

Offline Hypersphere

  • Posts: 1855
  • Location: USA
Re: USB to USB keyboard converter
« Reply #448 on: Sun, 24 March 2019, 17:03:28 »
@hasu: Today, after a reboot of my Windows 10 machine, I was unable to get the keyboard to work with the USB-USB converter even after unplugging and replugging the converter or rebooting again.

I finally reinstalled Flip and reinstalled my hex file into the converter. Then, after a reboot and unplugging/replugging the converter, I got the keyboard to work again. (BTW, in order to get Flip working again, I had to uninstall it and install the version that is bundled with the Java Runtime. Otherwise, I would get errors saying that no Java virtual machine could be found).

I hope that you are able to fix this problem. I really like the converter when it is working, and I need the remapping in order to use my RF R2 keyboards with the layout that I want to use.

Thanks for your ongoing efforts to solve this problem.

Offline zucca

  • Posts: 14
Re: USB to USB keyboard converter
« Reply #449 on: Mon, 25 March 2019, 09:11:33 »
Today, after a reboot of my Windows 10 machine, I was unable to get the keyboard to work with the USB-USB converter even after unplugging and replugging the converter or rebooting again.

Was it working prior the reboot?
Did you left the HASU converter plugged in with the keyboard plugged in during the reboot?

I improved a lot the situation with these steps:

1) Computer off or prior to reboot with HASU Conv. working ok.
2) Disconnect the Keyboard from the HASU Conv.  but leave the HASU connected to PC.
3) Reboot or turn on the PC. (HASU Conv. is still connected to the PC but without keyboard).
4) Wait until the OS is up and running (boot is done).
5) Connect the Keyboard.
6) Enjoy the HASU.
« Last Edit: Mon, 25 March 2019, 17:48:56 by zucca »