掌機 - TRIMUI BRICK - C/C++ - Read Keypad



main.c

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <linux/input.h>
  
int main(int argc, char **argv)
{
    int fd = -1;
    struct input_event ev = {0};
  
    fd = open("/dev/input/event3", O_RDONLY);
    if (fd > 0) {
        while (read(fd, &ev, sizeof(struct input_event))) {
            printf("type:%d, code:%d, value:%d\n", ev.type, ev.code, ev.value);
        }
        close(fd);
    }
    return 0;
}

Key Code

UP          EV_ABS    CODE=17     VALUE=-1
DOWN        EV_ABS    CODE=17     VALUE=1
LEFT        EV_ABS    CODE=16     VALUE=-1
RIGHT       EV_ABS    CODE=16     VALUE=1
A           EV_KEY    CODE=305    VALUE=1
B           EV_KEY    CODE=304    VALUE=1
X           EV_KEY    CODE=308    VALUE=1
Y           EV_KEY    CODE=307    VALUE=1
F1          EV_KEY    CODE=317    VALUE=1
F2          EV_KEY    CODE=318    VALUE=1

L1          EV_KEY    CODE=310    VALUE=1
R1          EV_KEY    CODE=311    VALUE=1
L2          EV_REL    CODE=2      VALUE=255
R2          EV_REL    CODE=5      VALUE=255

M1          EV_KEY    CODE=316    VALUE=1
SELECT      EV_KEY    CODE=314    VALUE=1
START       EV_KEY    CODE=315    VALUE=1

VOL_UP      EV_KEY    CODE=115    VALUE=1
VOL_DOWN    EV_KEY    CODE=114    VALUE=1

Fn          EV_SW     CODE=1      VALUE=1