键盘上编程键的开关盒。到目前为止这看起来正确吗?

Switch cases for programming keys on keyboard. Does this seem correct so far?

我想为每个键盘键分配一个字符,并具有功能键,例如 shift + a 给 A 或 Ctlr + Alt + Delete 等。到目前为止这看起来不错吗?如果是或否,您有什么建议?

// TO EDIT CASES
    int cases ;
    switch (cases)
{

// LETTERS & OTHERS
    case 0: // a A
        gesture_simple() ;
        if (GESTURE == 1) {
            BUFFER[1 + NB_TOUCH] = 0x14 ;
        }
        if (GESTURE == 5) {
            T_REL = 0x14 ;
        }
        RSOUT "A ", Int STAGE, 13;
        send_code() ;

case 67: // Left CTRL
        gesture_simple() ;
        if (GESTURE == 1) {
            BUFFER[0] = BUFFER[0] | 0b00000001 ;
        }
        if (GESTURE == 5) {
            BUFFER[0] = BUFFER[0] & 0b11111110 ;
        }
        printf("Left Ctrl", 13) ;
        send_code() ;

本质上,我正在尝试构建一个键盘。共有 96 个键,每个键都有一个字符或功能。我如何进行映射以及如何对每个键进行编程,以便当我按下按钮时,它会输入字符并在 RS 终端中打印按下的键?

也许这会有所帮助:

int main(void)
{
    int cases ;

    intitUART();          //initialize the UART as you want

    //do something....

    switch (cases)
    {
        case 0: 
             //do semething....
             printf("A");         //output 'A' to UART of your PIC controller
             printf("a");         // output 'a' in ASCII
             break;

        case 1: 
             //do semething....
             printf("B");
             break;
        //.....

        case 26: 
        default:
             //do semething....
             printf("Z");
             break;
    }
}

我想 MCC 会对 UART 配置有很大帮助。