static int command_hid_test(int argc, char **argv) { uint8_t keycode = 0x0a; /* 'G' key */ for (keycode = 0x0a; keycode < 0x3a; keycode++) { /* Quickly change the report (faster than interrupt period) */ set_keyboard_report((uint32_t)keycode << 16); udelay(1000); } udelay(50000); set_keyboard_report(0x000000); return EC_SUCCESS; }
static int command_hid(int argc, char **argv) { uint8_t keycode = 0x0a; /* 'G' key */ if (argc >= 2) { char *e; keycode = strtoi(argv[1], &e, 16); if (*e) return EC_ERROR_PARAM1; } /* press then release the key */ set_keyboard_report((uint32_t)keycode << 16); udelay(50000); set_keyboard_report(0x000000); return EC_SUCCESS; }