Defining Hotkeys
(eg, "CTRL, P" usually is print. If "CTRL, P" is used as a DisplayClone hotkey, then the print dialog should not come up when that combination is hit in a program such as Microsoft Word)
-For example we can define "CTRL, Q" as "17, 81", which has an identical meaning.
Obviously "CTRL, Q" has more human-readability and is probably the preferred way to write that. Yet if you were using a keyboard that has different mappings, or key mappings that are not named in DisplayClone ... then it may be desirable to use direct numeric-values.
VKMap[0x01] = L"LMB"; // Left mouse button
VKMap[0x02] = L"RMB"; // Right mouse button
VKMap[0x04] = L"MMB"; // Middle mouse button
VKMap[0x05] = L"XMB1"; // side mouse button
VKMap[0x06] = L"XMB2"; // side mouse button
VKMap[0x08] = L"BACKSPACE";
VKMap[0x09] = L"TAB";
VKMap[0x0C] = L"CLEAR";
VKMap[0x0D] = L"ENTER";
VKMap[0x10] = L"SHIFT";
VKMap[0x11] = L"CTRL";
VKMap[0x12] = L"ALT";
VKMap[0x13] = L"PAUSE";
VKMap[0x14] = L"CAPS LOCK";
VKMap[0x15] = L"IME Kana mode";
VKMap[0x15] = L"IME Hanguel mode";
VKMap[0x15] = L"IME Hangul mode";
VKMap[0x17] = L"IME Junja mode";
VKMap[0x18] = L"IME final mode";
VKMap[0x19] = L"IME Hanja mode";
VKMap[0x19] = L"IME Kanji mode";
VKMap[0x1B] = L"ESC";
VKMap[0x1C] = L"IME convert"; // (Reserved for Kanji systems)
VKMap[0x1D] = L"IME nonconvert"; // (Reserved for Kanji systems)
VKMap[0x1E] = L"IME accept"; // (Reserved for Kanji systems)
VKMap[0x1F] = L"IME mode"; // (Reserved for Kanji systems)
VKMap[0x20] = L"SPACEBAR";
VKMap[0x21] = L"PAGE UP";
VKMap[0x22] = L"PAGE DOWN";
VKMap[0x23] = L"END";
VKMap[0x24] = L"HOME";
VKMap[0x25] = L"LEFT ARROW";
VKMap[0x26] = L"UP ARROW";
VKMap[0x27] = L"RIGHT ARROW";
VKMap[0x28] = L"DOWN ARROW";
VKMap[0x29] = L"SELECT";
VKMap[0x2A] = L"PRINT";
VKMap[0x2B] = L"EXECUTE";
VKMap[0x2C] = L"PRINT SCREEN";
VKMap[0x2D] = L"INS";
VKMap[0x2E] = L"DEL";
VKMap[0x2F] = L"HELP";
VKMap[0x30] = L"Num 0";
VKMap[0x31] = L"Num 1";
VKMap[0x32] = L"Num 2";
VKMap[0x33] = L"Num 3";
VKMap[0x34] = L"Num 4";
VKMap[0x35] = L"Num 5";
VKMap[0x36] = L"Num 6";
VKMap[0x37] = L"Num 7";
VKMap[0x38] = L"Num 8";
VKMap[0x39] = L"Num 9";
VKMap[0x41] = L"A";
VKMap[0x42] = L"B";
VKMap[0x43] = L"C";
VKMap[0x44] = L"D";
VKMap[0x45] = L"E";
VKMap[0x46] = L"F";
VKMap[0x47] = L"G";
VKMap[0x48] = L"H";
VKMap[0x49] = L"I";
VKMap[0x4A] = L"J";
VKMap[0x4B] = L"K";
VKMap[0x4C] = L"L";
VKMap[0x4D] = L"M";
VKMap[0x4E] = L"N";
VKMap[0x4F] = L"O";
VKMap[0x50] = L"P";
VKMap[0x51] = L"Q";
VKMap[0x52] = L"R";
VKMap[0x53] = L"S";
VKMap[0x54] = L"T";
VKMap[0x55] = L"U";
VKMap[0x56] = L"V";
VKMap[0x57] = L"W";
VKMap[0x58] = L"X";
VKMap[0x59] = L"Y";
VKMap[0x5A] = L"Z";
VKMap[0x5B] = L"Left Windows";
VKMap[0x5C] = L"Right Windows";
VKMap[0x5D] = L"Applications";
VKMap[0x5F] = L"Computer Sleep";
VKMap[0x60] = L"Numpad 0";
VKMap[0x61] = L"Numpad 1";
VKMap[0x62] = L"Numpad 2";
VKMap[0x63] = L"Numpad 3";
VKMap[0x64] = L"Numpad 4";
VKMap[0x65] = L"Numpad 5";
VKMap[0x66] = L"Numpad 6";
VKMap[0x67] = L"Numpad 7";
VKMap[0x68] = L"Numpad 8";
VKMap[0x69] = L"Numpad 9";
VKMap[0x6A] = L"Multiply";
VKMap[0x6B] = L"Add";
VKMap[0x6C] = L"Separator";
VKMap[0x6D] = L"Subtract";
VKMap[0x6E] = L"Decimal";
VKMap[0x6F] = L"Divide";
VKMap[0x70] = L"F1";
VKMap[0x71] = L"F2";
VKMap[0x72] = L"F3";
VKMap[0x73] = L"F4";
VKMap[0x74] = L"F5";
VKMap[0x75] = L"F6";
VKMap[0x76] = L"F7";
VKMap[0x77] = L"F8";
VKMap[0x78] = L"F9";
VKMap[0x79] = L"F10";
VKMap[0x7A] = L"F11";
VKMap[0x7B] = L"F12";
VKMap[0x7C] = L"F13";
VKMap[0x7D] = L"F14";
VKMap[0x7E] = L"F15";
VKMap[0x7F] = L"F16";
VKMap[0x80] = L"F17";
VKMap[0x81] = L"F18";
VKMap[0x82] = L"F19";
VKMap[0x83] = L"F20";
VKMap[0x84] = L"F21";
VKMap[0x85] = L"F22";
VKMap[0x86] = L"F23";
VKMap[0x87] = L"F24";
VKMap[0x90] = L"NUM LOCK";
VKMap[0x91] = L"SCROLL LOCK";
VKMap[0x92] = L"'=' on numpad"; // NEC PC-9800 kbd definitions:
VKMap[0x92] = L"'Dictionary'"; // Fujitsu/OASYS kbd definitions:
VKMap[0x93] = L"'Unregister word'"; // Fujitsu/OASYS kbd definitions:
VKMap[0x94] = L"'Register word'"; // Fujitsu/OASYS kbd definitions:
VKMap[0x95] = L"'Left OYAYUBI'"; // Fujitsu/OASYS kbd definitions:
VKMap[0x96] = L"'Right OYAYUBI'"; // Fujitsu/OASYS kbd definitions:
VKMap[0xA0] = L"Left SHIFT";
VKMap[0xA1] = L"Right SHIFT";
VKMap[0xA2] = L"Left CTRL";
VKMap[0xA3] = L"Right CTRL";
VKMap[0xA4] = L"Left MENU";
VKMap[0xA5] = L"Right MENU";
VKMap[0xA6] = L"Browser Back";
VKMap[0xA7] = L"Browser Forward";
VKMap[0xA8] = L"Browser Refresh";
VKMap[0xA9] = L"Browser Stop";
VKMap[0xAA] = L"Browser Search";
VKMap[0xAB] = L"Browser Favorites";
VKMap[0xAC] = L"Browser Start and Home";
VKMap[0xAD] = L"Volume Mute";
VKMap[0xAE] = L"Volume Down";
VKMap[0xAF] = L"Volume Up";
VKMap[0xB0] = L"Next Track";
VKMap[0xB1] = L"Previous Track";
VKMap[0xB2] = L"Stop Media";
VKMap[0xB3] = L"Play/Pause Media";
VKMap[0xB4] = L"Start Mail";
VKMap[0xB5] = L"Select Media";
VKMap[0xB6] = L"Start Application 1";
VKMap[0xB7] = L"Start Application 2";
VKMap[0xBA] = L"';:'";
VKMap[0xBB] = L"'+'";
VKMap[0xBC] = L"','";
VKMap[0xBD] = L"'-'";
VKMap[0xBE] = L"'.'";
VKMap[0xBF] = L"'/?'";
VKMap[0xC0] = L"'`~'";
VKMap[0xDB] = L"'[{'";
VKMap[0xDC] = L"'\\|'";
VKMap[0xDD] = L"']}'";
VKMap[0xDE] = L"' '/\" '";
VKMap[0xE2] = L"BACKSLASH";
VKMap[0xE5] = L"IME PROCESS";
VKMap[0xF6] = L"Attn";
VKMap[0xF7] = L"CrSel";
VKMap[0xF8] = L"ExSel";
VKMap[0xF9] = L"Erase EOF";
VKMap[0xFA] = L"Play";
VKMap[0xFB] = L"Zoom";
VKMap[0xFD] = L"PA1";
VKMap[0xFE] = L"Clear";
Do you consider this a feature worth improving on? Let us know!