4

У меня есть MacBook Pro для работы, и я только что взял в руки яблочную USB-клавиатуру.

Когда я нахожусь в терминале, использую ТОЛЬКО внешнюю клавиатуру, я получаю странные символы, когда нажимаю клавишу со стрелкой ВВЕРХ. Например, нажатие стрелки вверх либо вводит символ «~» (тильда). Я попытался изменить настройки клавиатуры, и после этого я начал получать мусорные символы "]] & D]]" и т. П. (Это не настоящая ошибка - это тот тип вывода символов, который вы получаете при удаленном использовании коробки с оболочкой, а не настроен правильно для клавиш со стрелками).

Странно то, что при использовании внешней клавиатуры встроенная клавиатура MacBook не имеет проблем, все клавиши со стрелками работают просто отлично. Так что это, похоже, полностью связано с внешней клавиатурой.

У кого-нибудь есть идеи, что может происходить или как это можно исправить?

4 ответа4

2

Возможно, что немного больше деталей поможет ответить на этот вопрос. В нынешнем виде я хотел бы подойти к этой проблеме, пытаясь устранить неполадки шаг за шагом, и вот некоторые шаги, которые я хотел бы рассмотреть.

Если у вас есть доступ к USB-клавиатуре Apple или другого производителя, попробуйте использовать ее, чтобы убедиться, что проблема повторяется. Возможно, что у вашей USB-клавиатуры и / или ноутбука есть проблемы.

Я бы проверил тип эмуляции вашего терминала с помощью:

$ printenv TERM
xterm-256color

Если это не «xterm-256color» (по умолчанию для новых окон в терминале OS X), то вы можете рассмотреть возможность настройки своего окна для использования этого через настройки терминала. (Это предполагает, что вы используете терминал, а не альтернативу, как iTerm.)

Если вы используете утилиту "screen" или сеанс SSH, вы можете попробовать те же процессы без них. Если проблема повторяется без них, вы получили дополнительную информацию. Если проблема не повторяется, то может быть под вопросом конфигурация этих утилит или взаимодействие с вашей оболочкой, и вы можете посмотреть дальше.

Ваши теги указывают, что Zsh может использоваться. Определите, есть ли у вас такая же проблема, если вы переключаетесь на bash (по умолчанию для OS X начиная с Mac OS X 10.3 Panther) или другую оболочку. Преимущество этого заключается в том, что Bash и Zsh не должны совместно использовать какие-либо или несколько файлов конфигурации. Таким образом, возможность конкретной настраиваемой конфигурации для любой оболочки, являющейся виновником, будет минимизирована.

Если у другой оболочки такой же проблемы нет, вам нужно будет определить, является ли конфигурация оболочки или самой оболочкой. Если бы оболочка, которую вы обычно используете, была настроена, я бы сделал резервную копию и удалил эту настройку перед началом нового сеанса. Если новый сеанс работает, значит, в вашей конкретной конфигурации оболочки есть проблема.

Вы также можете попробовать описанные выше шаги с новой новой учетной записью пользователя OS X, которая унаследует настройки по умолчанию из локализованного пользовательского шаблона для вашего языка. Эта учетная запись пользователя может быть создана и удалена после тестирования через Системные настройки> Пользователи и группы (как она названа в OS X Mountain Lion). Этот шаг обычно исключает любые другие раскладки клавиатуры, которые были установлены, а также программное обеспечение, которое может изменить поведение клавиатуры. Даже если такое программное обеспечение было установлено для всех пользователей в системе, оно, вероятно, не настроено в качестве элемента входа для новых пользователей.

1

Я только заметил, что я не поставил окончательное решение. В конечном счете, проблема, похоже, была в клавиатуре. Это работало во всех других аспектах, НО терминал. Когда я подключил другой блок клавиатуры того же типа к одному и тому же ноутбуку, проблема исчезла. Поэтому по какой-то причине клавиатура генерирует прерывание, которое ОС воспринимает как нажатие стрелки вверх, но оболочка не понимает его как таковое. Я не очень понимаю, как это может произойти, но это то, что он делает. Спасибо всем за ваши отличные предложения.

1

Предполагая, что клавиши на самом деле работают вообще, проблема может заключаться в том, что они генерируют нераспознанные последовательности управления, хотя почему это должно происходить на клавиатуре Apple, я не знаю.

Мое предложение будет взять USB Overdrive. Вы должны быть в состоянии использовать это для сопоставления клавиш со стрелками с обычными функциями.

0

Клавиатура Apple иногда выдает F6 со стрелкой вверх. Вы можете не заметить эффект в других приложениях или вообще в ОС. Вы можете подтвердить эту проблему, запустив утилиту онлайн-тестирования клавиатуры (например, https://www.keyboardtester.com/)

Нажмите стрелку вверх и посмотрите, ударит ли F6 с ним. Если у вас возникла та же проблема, которая привела меня сюда, то здесь есть несколько исправлений.

1) Plug out and Plug in the keyboard after some time.
2) Try to use a different USB Port to connect the keyboard.
3) Try cleaning the keyboard (Not recommended as people tried multiple brand new keyboards)
4) Restart the computer (Seriously)

5) If nothing works, Just install a free utility like (Karabiner-Elements) and map F6 to Up Arrow.

Есть лучшее решение, использующее Karabiner, (я использовал его), оно включало практический беспорядок вокруг его конфигураций и отнимало много времени. Так что если вы не используете F6 для яркости и т.д. Это может быть полезно для вас.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .