Skip to content

Instantly share code, notes, and snippets.

@MrAMS
Created March 11, 2024 12:29
Show Gist options
  • Save MrAMS/9cac0e24e289e79d2a0774ecff2126a4 to your computer and use it in GitHub Desktop.
Save MrAMS/9cac0e24e289e79d2a0774ecff2126a4 to your computer and use it in GitHub Desktop.
ysyx - PS/2扫描码翻译成AM定义的键盘码
int get_am_key(int code){
switch (code) {
case 0x76: return AM_KEY_ESCAPE;
case 0x05: return AM_KEY_F1;
case 0x06: return AM_KEY_F2;
case 0x04: return AM_KEY_F3;
case 0x0C: return AM_KEY_F4;
case 0x03: return AM_KEY_F5;
case 0x0B: return AM_KEY_F6;
case 0x83: return AM_KEY_F7;
case 0x0A: return AM_KEY_F8;
case 0x01: return AM_KEY_F9;
case 0x09: return AM_KEY_F10;
case 0x78: return AM_KEY_F11;
case 0x07: return AM_KEY_F12;
case 0x0E: return AM_KEY_GRAVE;
case 0x16: return AM_KEY_1;
case 0x1E: return AM_KEY_2;
case 0x26: return AM_KEY_3;
case 0x25: return AM_KEY_4;
case 0x2E: return AM_KEY_5;
case 0x36: return AM_KEY_6;
case 0x3D: return AM_KEY_7;
case 0x3E: return AM_KEY_8;
case 0x46: return AM_KEY_9;
case 0x45: return AM_KEY_0;
case 0x4E: return AM_KEY_MINUS;
case 0x55: return AM_KEY_EQUALS;
case 0x66: return AM_KEY_BACKSPACE;
case 0x0D: return AM_KEY_TAB;
case 0x15: return AM_KEY_Q;
case 0x1D: return AM_KEY_W;
case 0x24: return AM_KEY_E;
case 0x2D: return AM_KEY_R;
case 0x2C: return AM_KEY_T;
case 0x35: return AM_KEY_Y;
case 0x3C: return AM_KEY_U;
case 0x43: return AM_KEY_I;
case 0x44: return AM_KEY_O;
case 0x4D: return AM_KEY_P;
case 0x54: return AM_KEY_LEFTBRACKET;
case 0x5B: return AM_KEY_RIGHTBRACKET;
case 0x5D: return AM_KEY_BACKSLASH;
case 0x58: return AM_KEY_CAPSLOCK;
case 0x1C: return AM_KEY_A;
case 0x1B: return AM_KEY_S;
case 0x23: return AM_KEY_D;
case 0x2B: return AM_KEY_F;
case 0x34: return AM_KEY_G;
case 0x33: return AM_KEY_H;
case 0x3B: return AM_KEY_J;
case 0x42: return AM_KEY_K;
case 0x4B: return AM_KEY_L;
case 0x4C: return AM_KEY_SEMICOLON;
case 0x52: return AM_KEY_APOSTROPHE;
case 0x5A: return AM_KEY_RETURN;
case 0x12: return AM_KEY_LSHIFT;
case 0x1A: return AM_KEY_Z;
case 0x22: return AM_KEY_X;
case 0x21: return AM_KEY_C;
case 0x2A: return AM_KEY_V;
case 0x32: return AM_KEY_B;
case 0x31: return AM_KEY_N;
case 0x3A: return AM_KEY_M;
case 0x41: return AM_KEY_COMMA;
case 0x49: return AM_KEY_PERIOD;
case 0x4A: return AM_KEY_SLASH;
case 0x59: return AM_KEY_RSHIFT;
case 0x14: return AM_KEY_LCTRL;
case 0x11: return AM_KEY_LALT;
case 0x29: return AM_KEY_SPACE;
// 特殊按键
case 0xe011: return AM_KEY_RALT;
case 0xe014: return AM_KEY_RCTRL;
case 0xe075: return AM_KEY_UP;
case 0xe072: return AM_KEY_DOWN;
case 0xe06b: return AM_KEY_LEFT;
case 0xe074: return AM_KEY_RIGHT;
case 0xe070: return AM_KEY_INSERT;
case 0xe071: return AM_KEY_DELETE;
case 0xe06c: return AM_KEY_HOME;
case 0xe069: return AM_KEY_END;
case 0xe07d: return AM_KEY_PAGEUP;
case 0xe07a: return AM_KEY_PAGEDOWN;
default: return AM_KEY_NONE;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment