MacBook неправильно определяет физическое расположение встроенной клавиатуры

У меня действительно странная проблема с MacBook Pro моей сестры (середина 2012 года, работающий под управлением El Capitan): он неправильно определяет физическую раскладку встроенной клавиатуры. Дело не только в неправильном сопоставлении кнопок с символами; диаграмма, показанная в «Средстве просмотра клавиатуры», на самом деле показывает больше физических кнопок, чем на клавиатуре.

Примечание: смотрите обновление в конце, чтобы узнать текущий статус.

Физическая клавиатура выглядит как правильная англо-американская версия, и она называется «США» на панели настроек «Источники ввода», но вот скриншот того, как, по мнению Keyboard Viewer, она выглядит физически:

скриншот: клавиши не нажаты

Проблемы становятся более очевидными при нажатом Shift:

Скриншот: шифт нажат

Благодаря Википедии (и полезной подсказке от символа иены), я думаю , что это показывает макет японского промышленного стандарта , но на самом деле я не читаю восточноазиатские алфавиты, поэтому я менее чем на 100% уверен.

Моя цель состоит в том, чтобы раскладка распознавалась как стандартная американская QWERTY, либо (предпочтительно), фактически заставляя OS X поверить, что это один, либо путем повторного сопоставления клавиш, которые, по ее мнению, у нее есть. Я читал Create and use your own input source , но пока безуспешно. Я думаю, что моя проблема может заключаться в том, что символы, которые он хочет отображать, являются японскими (?), а не символами ASCII.

Интересно, что я попытался загрузиться с Ubuntu USB, и он без проблем распознал клавиатуру. С другой стороны, макет все еще был неправильным, когда я загружался с раздела восстановления OS X.

Любые советы о том, как исправить это, будут очень признательны!


Обновление 1:

Вдохновленный ответом Тома Гевеке ниже, я попытался переустановить SMC, что изменило ситуацию. Вероятно, самый быстрый способ описать это с помощью двух новых снимков экрана (сделанных с источником ввода «США»):

  • Без нажатых клавиш:Снимок экрана средства просмотра клавиатуры после сброса SMC
  • При нажатом Shift:введите описание изображения здесь

Как видите, она уже не японская, но и не соответствует раскладке физической клавиатуры. В средстве просмотра клавиатуры:

  • На схеме показана клавиша с §и ±слева от клавиши 1/ !. но на настоящей клавиатуре есть клавиша с пометкой `/ ~. Когда я нажимаю эту клавишу, средство просмотра клавиатуры показывает это как нажатие клавиши `/ ~между клавишами zи и влево (физической клавиши между и shiftнет .zshift
  • На диаграмме показана вертикальная клавиша return/ enterи дополнительная клавиша \/ |справа от основного ряда, между '/ "и enter. Фактическая клавиатура имеет горизонталь enterв домашнем ряду и имеет клавишу \/ |в качестве последней клавиши в ряду QWERTY, справа от ]/ }. Опять же, средство просмотра клавиатуры показывает нажатие физического \/ |как нажатие неуместной клавиши.

Итак, для практических целей это огромное улучшение, поскольку теперь все физические клавиши делают то, что говорят их колпачки. С другой стороны, что-то явно по-прежнему не так, поскольку средство просмотра клавиатуры по-прежнему имеет клавиши в неправильном месте, клавиши неправильной формы и одну клавишу на диаграмме (клавиша /), которая не сопоставлена ​​ни с §каким ±физическим клавиша на клавиатуре.

Обновление 2:

Я несколько раз пытался сбросить SMC; результирующий макет всегда либо JIS, либо ISO, но никогда не ANSI, и мне еще предстоит найти какой-либо шаблон, который позволил бы мне предсказать, каким будет результат. Что еще более важно, даже когда я получаю макет ISO путем сброса SMC, он вернется к макету JIS в какой-то произвольный момент при использовании системы.

Обновление 3:

После долгой задержки я недавно снова получил доступ к этой машине. Следуя комментарию Дэна , клавиатура действительно показывает «идентификатор продукта» USB 0x0264, который, по-видимому , является вариантом JIS для MacbookPro10,1 (эта модель). Вот скриншот:

Скриншот системной информации

У вас все еще есть проблема с типом клавиатуры. Он перешел с JIS на ISO, но ему нужно перейти на ANSI. Попробуйте еще раз сбросить SMC.
Спасибо за обновление. Вы пробовали вариант карабина, упомянутый в моей статье в блоге?
Была ли когда-нибудь заменена клавиатура этого MacBook Pro?•• Возврат ••Открывался ли когда-либо этот MacBook Pro?
Судя по вашему подробному описанию проблемы, прошивка вашей клавиатуры отправляет случайный мусор в качестве строки идентификации модели на шину USB. Пожалуйста, подтвердите эту гипотезу с помощью:  > About This Mac > System Report... > Hardware > USB > Hub > Apple Internal Keyboard / Trackpad, и включите снимок экрана.
Клавиатура точно была заменена, и эта проблема началась практически сразу после слов — я должен был упомянуть об этом, но, должно быть, потерял это из виду среди других деталей. В настоящее время я далеко от рассматриваемого MacBook, но я получу строку идентификации его модели, как только смогу.

Ответы (1)

Ваша машина ошибается с типом клавиатуры. Посмотрите, поможет ли это:

http://m10lmac.blogspot.com/2009/12/fixing-keyboard-type-problems.html

Если ничего не работает, попробуйте это исправление Karabiner:

Изменить идентификатор клавиатуры Mac после замены клавиатуры

Не могли бы вы добавить соответствующие части этой ссылки в ответ на случай, если указанная ссылка исчезнет, ​​и для удобства чтения?
Нет игральных костей. Удаление /Library/Preferences/com.apple.keyboardtype.plistничего не дает — файл даже не создается снова, когда я перезагружаюсь. Замена его файлом /Library/Preferences/com.apple.keyboardtype.plistс корректно работающего Macbook Pro тоже ничего не дает. (Интересно, defaults read com.apple.keyboardtypeсообщает, что домен не существует.) Помощник по настройке клавиатуры завершает работу с сообщением No unknown keyboard connected - terminatingв командной строке … он даже не открывает окно GUI.
На самом деле, в сообщении в блоге говорилось о сбросе PMU, которого нет на компьютерах Mac на базе Intel, но я попытался сбросить SMC, который кое-что сделал. Я собираюсь отредактировать основной пост выше, чтобы объяснить, потому что это слишком сложно для комментария.
@LiberalArtist Я исправил пост в блоге, чтобы он ссылался на SMC. Иногда в конце концов кажется, что только исправление Karabiner работает для этой проблемы.