Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Keyboard with boot protocol enabled #150

Open
OmerFS opened this issue Oct 26, 2023 · 8 comments
Open

Keyboard with boot protocol enabled #150

OmerFS opened this issue Oct 26, 2023 · 8 comments

Comments

@OmerFS
Copy link

OmerFS commented Oct 26, 2023

Hello,

ch55xduino/ch55x/libraries/Generic_Examples/examples/05.USB/HidKeyboard
compiled to ch552 mcu HID working fine on windows and linux. it is not working on bios

How to made work on bios screen?

(by the way, it is working on new model computers bioses but not working on a bit old bioses like Asus N550JV)

Thanks in advance

@DeqingSun
Copy link
Owner

I can confirm the emulated keyboard does not work on the boot screen of a Mid-2014 macbook pro while a real Dell keyboard does work.
So there must be some implementation problem in the boot protocol. I will take a look soon.

@DeqingSun
Copy link
Owner

DeqingSun commented Nov 12, 2023

For progress record:

There is some progress in https://github.com/DeqingSun/ch55xduino/blob/ec3b8958397dac77035ab4ae40cd06331b51320d/ch55xduino/ch55x/libraries/Generic_Examples/examples/05.USB/HidKeyboard/src/userUsbHidKeyboard/USBhandler.c that deal with HID report access on EP0. More work need to be done to do get EP0 IN work properly.

@DeqingSun
Copy link
Owner

@DeqingSun
Copy link
Owner

Updated in b0067f0
No response from @OmerFS, consider fixed.

@OmerFS
Copy link
Author

OmerFS commented Mar 30, 2024

Hello i am sorry for not returning in time i saw your post in my mail today i have variety of old notebooks i will test and post the results thank you so much.

@DeqingSun DeqingSun reopened this Mar 30, 2024
@OmerFS
Copy link
Author

OmerFS commented Apr 3, 2024

Hello i tested new update on 3 laptops ;
Dell Latitude E6330
Fujitsu Lifebook LH532
Asus N550JV

it works on windows but it didn't work in bios screen
i also changed keyboardProtocol varible but results were same;didn't work
(//0 is boot protocol, 1 is report protocol
__xdata uint8_t keyboardProtocol = 1; from 1 to 0 but it didnt work again)
my humble opinion i suggest you to check stm32 libraries and HID-project library. i was able to make it with stm32 mcu using cubeide generated code for arduino(pro micro) i used HID-project both of them worked.

@DeqingSun
Copy link
Owner

Thanks for sharing. I suppose there must be some USB request that I did not handle properly.

I'll check it this weekend with a real windows machine. I suppose the bios in windows and mac still handle the USB differently.

@DeqingSun
Copy link
Owner

DeqingSun commented Apr 4, 2024

I've tested it on
Lenovo Thinkpad t410 2518-f4u 2010
Acer Aspire 4930 JAL90 2008
They both work in Bios.
I'll take a look at the other projects.

I tried to use

      Keyboard_press(KEY_DOWN_ARROW);
      delay(100); //a quick capslock press is not recognized on mac
      Keyboard_release(KEY_DOWN_ARROW);

And the cursor can be moved in BIOS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants