Сканкоды клавиатуры osx mavericks отображаются на одни и те же символы независимо от языковой карты
В моем профиле пользователя клавиатура набирает одни и те же символы независимо от настроек языка клавиатуры.
При использовании этих четырех комбинаций клавиш всегда появляются одинаковые символы:
alt-7 {
alt-8 [
alt-9 ]
alt-0 }
Мой макет по умолчанию немецкий, поэтому он должен быть | { } ≠
Но даже в английской и Neo Layout комбинации клавиш дают одинаковые четыре символа, будь то в терминале или в любом другом встроенном приложении. Использование обзора экранной клавиатуры показывает то же поведение. Я могу видеть символ трубы на экранной клавиатуре, но он вводит фигурную скобку.
Единственное приложение, которое отображает правильные символы Intellij Idea
, Я подозреваю, что это может быть Java
или же Idea
может просто получить доступ к scancodes
непосредственно.
Другая учетная запись пользователя на том же компьютере не показывает такое поведение (клавиатура отображает ожидаемые символы), поэтому оно должно быть определенным для моего профиля пользователя.
Я сделал обширный поиск в Google, но я не смог найти, как отображение из scancodes
персонажам работает в OSX
на основе профиля пользователя.
Так как в состоянии напечатать '|' характер для меня важен, я был бы очень признателен за вашу помощь!
1 ответ
Я нашел это: по-видимому, я создал свою проблему несколько лет назад, когда пытался использовать клавиатуру Windows на моем Mac для ввода в VirtualMachine. Мне стыдно.
Вот решение. В моем домашнем каталоге находится файл ~/Library/KeyBindings/DefaultKeyBinding.dict
С такими записями:
{
"\UF729" = "moveToBeginningOfLine:"; /* pos1 */
"^\UF729" = "moveToBeginningOfDocument:"; /* crtl + pos1 */
"$\UF729" = "moveToBeginningOfLineAndModifySelection:";
"\UF72b" = "moveToEndOfLine:"; /* end */
"^\UF72B" = "moveToEndOfDocument:"; /* ctrl + end */
"$\UF72B" = "moveToEndOfLineAndModifySelection:";
"\UF72C" = "pageUp:";
"\UF72D" = "pageDown:";
"^~7" = ("insertText:", "|"); /* orig alt 7 */
"^~8" = ("insertText:", "{"); /* orig alt 8 */
"^~9" = ("insertText:", "}"); /* orig alt 9 */
"^\U00DF" = ("insertText:", "\U00BF");
"^+" = ("insertText:", "\U00B1");
"~<" = ("insertText:", "|");
"~7" = ("insertText:", "{");
"~0" = ("insertText:", "}");
"~8" = ("insertText:", "[");
"~9" = ("insertText:", "]");
"~+" = ("insertText:", "~");
"~\U00DF" = ("insertText:", "\U005C");
"~q" = ("insertText:", "@");
"^x" = "cut:";
"^c" = "copy:";
"^v" = "paste:";
}