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

HID键盘扩展请求 #5

Open
zent1n0 opened this issue Jul 16, 2023 · 3 comments
Open

HID键盘扩展请求 #5

zent1n0 opened this issue Jul 16, 2023 · 3 comments

Comments

@zent1n0
Copy link

zent1n0 commented Jul 16, 2023

你好 从立创广场一路看到这来的 很不错的3键键盘固件!

我自己的出发点是想要做一个单独的Sysreq单键键盘 开源广场上也看了很多方案 感觉各路神仙都把ch552玩出花来

我读了@DeqingSun的示例代码和你的项目 基于我自己的使用场景 想给功能键增加一个sysreq的选项 也查了相关的hid规范pdf
image
感觉只要在USBHIDKeyboard.c修改#DEFINEapp.vue里面的列表应该就能加入新的键位 板子和材料还没到所以我暂时还不能验证可行性 如果可行的话看看能不能接受一下我的PR

可以的话能不能尝试对HID里面的其他键进行扩展呢 比如留一部分自定义功能键0xfc-0xfe可以提供给自定义的映射 至少有三个键的空间可以用 如果可以把这三个键在web改键程序上作为自定义扩展提供应该会更加方便(例如需要改PrintScr, Pause键的场景)

@yuan910715
Copy link
Owner

添加按键很容易,USBHIDKeyboard.c里可以不修改。
Sysreq按键是什么作用?我查了资料现代键盘已没有此键位 部分操作系统将其解析成PrintScreen ,你是想要添加PrintScreen按键吗?

@zent1n0
Copy link
Author

zent1n0 commented Jul 17, 2023

Sysreq的功能可以参考内核文档Linux Magic System Request Key Hacks

有一部分键盘厂商是将printsrc和sysreq做到一个键上的 但是这个方法不在USB HID的规范中 同时这个键的位置在表里的位置太靠后了 @DeqingSun提供的示例代码中给出的+136的映射区域不能够直接找到HID中后半部分的键(中间0xb5我记得也是一个跳过去的映射 因为和'~'冲突吧好像) 看看是不是有机会可以考虑重构一下这部分代码完整支持HID keyboard的完整表

另外 这个键盘支持6键无冲吗 如果不支持的话是不是最好也做一个适配

@yuan910715
Copy link
Owner

我在改键页增加了printscr/break pause/num lock/scroll lock四个按键, sysreq我再研究下。 CH552 IO够 可以6键无冲不需要添加其他元件。

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