蓝牙键盘输出中文该如何实现?

键盘输出中文,可以通过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币不足,见谅!!!