键盘输出中文,可以通过alt+(汉字对应的UTF8码)实现汉字的打印,想知道对于蓝牙键盘实现方式是否相同,对应的代码是什么样?最好能有个简单的例子说明。
以下是我尝试的几种可能的组合方式
key_buf[0] = 0x04;
key_buf[2] = 0x5A;
bls_att_pushNotifyData (HID_NORMAL_KB_REPORT_INPUT_DP_H, key_buf, 8);
while(clock_time_exceed(k_tick, 10*1000));
key_buf[0] = 0x04;
key_buf[2] = 0;
bls_att_pushNotifyData (HID_NORMAL_KB_REPORT_INPUT_DP_H, key_buf, 8); //release
while(clock_time_exceed(k_tick, 10*1000));
key_buf[0] = 0x04;
key_buf[3] = 0x62;
bls_att_pushNotifyData (HID_NORMAL_KB_REPORT_INPUT_DP_H, key_buf, 8);
while(clock_time_exceed(k_tick, 10*1000));
key_buf[0] = 0x04;
key_buf[3] = 0;
bls_att_pushNotifyData (HID_NORMAL_KB_REPORT_INPUT_DP_H, key_buf, 8); //release
while(clock_time_exceed(k_tick, 10*1000));
key_buf[0] = 0x04;
key_buf[4] = 0x5B;
bls_att_pushNotifyData (HID_NORMAL_KB_REPORT_INPUT_DP_H, key_buf, 8);
while(clock_time_exceed(k_tick, 10*1000));
key_buf[0] = 0x04;
key_buf[4] = 0;
bls_att_pushNotifyData (HID_NORMAL_KB_REPORT_INPUT_DP_H, key_buf, 8); //release
while(clock_time_exceed(k_tick, 10*1000));
key_buf[0] = 0x04;
key_buf[5] = 0x5A;
bls_att_pushNotifyData (HID_NORMAL_KB_REPORT_INPUT_DP_H, key_buf, 8);
while(clock_time_exceed(k_tick, 10*1000));
key_buf[0] = 0x04;
key_buf[5] = 0;
bls_att_pushNotifyData (HID_NORMAL_KB_REPORT_INPUT_DP_H, key_buf, 8); //release
while(clock_time_exceed(k_tick, 10*1000));
key_buf[0] = 0x04;
key_buf[6] = 0x62;
bls_att_pushNotifyData (HID_NORMAL_KB_REPORT_INPUT_DP_H, key_buf, 8);
while(clock_time_exceed(k_tick, 10*1000));
key_buf[0] = 0x04;
key_buf[6] = 0;
bls_att_pushNotifyData (HID_NORMAL_KB_REPORT_INPUT_DP_H, key_buf, 8); //release
#endif
#if 0
key_buf[0] = 0x04;
key_buf[2] = 0x5A;
key_buf[3] = 0x62;
key_buf[4] = 0x5B;
key_buf[5] = 0x5A;
key_buf[6] = 0x62;
bls_att_pushNotifyData (HID_NORMAL_KB_REPORT_INPUT_DP_H, key_buf, 8);
#endif
结果都不对,我是在手机上查看打印信息的,会不会和手机键盘布局有关系?我选择的Android 键盘(英语),尝试过shif+4,打印信息为$是期望的值。
key_buf[0] = 0x04;
key_buf[2] = 0x21;
bls_att_pushNotifyData (HID_NORMAL_KB_REPORT_INPUT_DP_H, key_buf, 8);
不好意思我的C币不足,见谅!!!