ch582M HID_keyboard 键盘回调函数pHalKeyProcessFunction问题

使用自带的例程修改对应按键后,在触发一次按键后一直触发输出。请问如何单机按键使之只触发一次



回调函数如下

void myKeyCallback(uint8_t keycode)

{

? ? uint8_t buf[8];

? ? if(keycode&HAL_KEY_SW_5)

? ? {

? ? ? ? buf[0] = 0;? ? ? ?// Modifier keys

? ? ? ? buf[1] = 0;? ? ? ?// Reserved

? ? //? ? buf[2] = keycode; // Keycode 1

? ? ? ? buf[2] = HID_KEYBOARD_K;

? ? ? ? buf[3] = 0;? ? ? ?// Keycode 2

? ? ? ? buf[4] = 0;? ? ? ?// Keycode 3

? ? ? ? buf[5] = 0;? ? ? ?// Keycode 4

? ? ? ? buf[6] = 0;? ? ? ?// Keycode 5

? ? ? ? buf[7] = 0;? ? ? ?// Keycode 6


? ? ? ? HidDev_Report(0, 1, 8, buf);

? ? }

? ? if(keycode&HAL_KEY_SW_6)

? ? {

? ? ? ? buf[0] = 0;? ? ? ?// Modifier keys

? ? ? ? buf[1] = 0;? ? ? ?// Reserved

? ? //? ? buf[2] = keycode; // Keycode 1

? ? ? ? buf[2] = HID_KEYBOARD_F;

? ? ? ? buf[3] = 0;? ? ? ?// Keycode 2

? ? ? ? buf[4] = 0;? ? ? ?// Keycode 3

? ? ? ? buf[5] = 0;? ? ? ?// Keycode 4

? ? ? ? buf[6] = 0;? ? ? ?// Keycode 5

? ? ? ? buf[7] = 0;? ? ? ?// Keycode 6


? ? ? ? HidDev_Report(0, 1, 8, buf);

? ? }

}


可以用最新的例程测试下看看,按下一次按键只会触发一次回调的。一直在发送需要发送弹起。



你只发按下指令,没有发弹起啊。应该再发一笔都是00的。


谢谢两位。已经不会一直发送了。但是需要不断点击 ,现在做长按的处理。


只有登录才能回复,可以选择微信账号登录