作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我无法找到如何转换 CGKeyCode
到相应的字符。
你是怎么做到的?
最佳答案
这是来自 the RUI project 的函数带有部分表。
char * keyStringForKeyCode(int keyCode)
{
// Proper key detection seems to want a switch statement, unfortunately
switch (keyCode) {
case 0: return("a");
case 1: return("s");
case 2: return("d");
case 3: return("f");
case 4: return("h");
case 5: return("g");
case 6: return("z");
case 7: return("x");
case 8: return("c");
case 9: return("v");
// what is 10?
case 11: return("b");
case 12: return("q");
case 13: return("w");
case 14: return("e");
case 15: return("r");
case 16: return("y");
case 17: return("t");
case 18: return("1");
case 19: return("2");
case 20: return("3");
case 21: return("4");
case 22: return("6");
case 23: return("5");
case 24: return("=");
case 25: return("9");
case 26: return("7");
case 27: return("-");
case 28: return("8");
case 29: return("0");
case 30: return("]");
case 31: return("o");
case 32: return("u");
case 33: return("[");
case 34: return("i");
case 35: return("p");
case 36: return("RETURN");
case 37: return("l");
case 38: return("j");
case 39: return("'");
case 40: return("k");
case 41: return(";");
case 42: return("\\");
case 43: return(",");
case 44: return("/");
case 45: return("n");
case 46: return("m");
case 47: return(".");
case 48: return("TAB");
case 49: return("SPACE");
case 50: return("`");
case 51: return("DELETE");
case 52: return("ENTER");
case 53: return("ESCAPE");
// some more missing codes abound, reserved I presume, but it would
// have been helpful for Apple to have a document with them all listed
case 65: return(".");
case 67: return("*");
case 69: return("+");
case 71: return("CLEAR");
case 75: return("/");
case 76: return("ENTER"); // numberpad on full kbd
case 78: return("-");
case 81: return("=");
case 82: return("0");
case 83: return("1");
case 84: return("2");
case 85: return("3");
case 86: return("4");
case 87: return("5");
case 88: return("6");
case 89: return("7");
case 91: return("8");
case 92: return("9");
case 96: return("F5");
case 97: return("F6");
case 98: return("F7");
case 99: return("F3");
case 100: return("F8");
case 101: return("F9");
case 103: return("F11");
case 105: return("F13");
case 107: return("F14");
case 109: return("F10");
case 111: return("F12");
case 113: return("F15");
case 114: return("HELP");
case 115: return("HOME");
case 116: return("PGUP");
case 117: return("DELETE"); // full keyboard right side numberpad
case 118: return("F4");
case 119: return("END");
case 120: return("F2");
case 121: return("PGDN");
case 122: return("F1");
case 123: return("LEFT");
case 124: return("RIGHT");
case 125: return("DOWN");
case 126: return("UP");
default:
// Unknown key, bail and note that RUI needs improvement
fprintf(stderr, "%ld\tKey\t%c (DEBUG: %d)\n", currenttime, keyCode);
exit(EXIT_FAILURE);
}
}
关于objective-c - 将 CGKeyCode 转换为字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9458017/
在我的应用程序中,我需要将快捷键映射到键盘上“1”键左侧的键。在标准美国键盘上,这将是反引号字符 ("` "),即键代码编号 50。不幸的是,国际键盘(例如法语键盘)在 1 键的左侧有一个不同的键(正
我无法找到如何转换 CGKeyCode到相应的字符。 你是怎么做到的? 最佳答案 这是来自 the RUI project 的函数带有部分表。 char * keyStringForKeyCode(i
我需要一个函数,给定一个字符,返回与该字符在当前键盘布局上的位置关联的 CGKeyCode。例如,给定“b”,如果使用 U.S. QWERTY,则应返回 kVK_ANSI_B,如果使用 Dvorak,
我正在尝试将键盘事件发送到进程。像“a”、“v”、“t”这样的键可以正常工作,但是空格、命令、控制等键不起作用。这就是我正在做的事情: CGEventRef e1 = CGEventCreateKey
我是一名优秀的程序员,十分优秀!