Как заставить внешнюю клавиатуру Apple принимать ввод клавиши-модификатора с внутренней клавиатуры Macbook (и наоборот)?

Я только что купил старую клавиатуру Apple с идеей, что я мог бы использовать ее вместе с моей внутренней клавиатурой Macbook Pro вместо покупки клавиатуры, которая может разделяться на две части. Идея состоит в том, что я должен иметь возможность положить правую руку на внешнюю клавиатуру, а левую руку на внутреннюю клавиатуру и печатать как обычно.

Я подключаю внешнюю клавиатуру и могу нормально печатать. Проблема возникает, когда я пытаюсь использовать любую комбинацию клавиш на обеих клавиатурах одновременно. Например, когда я нажимаю клавишу управления на внутренней клавиатуре и клавишу «e» на внешней клавиатуре, я хотел бы, чтобы курсор переместился в конец строки, но вместо этого отображается буква «e» в нижнем регистре. на экране. Когда я удерживаю клавишу Shift на внешней клавиатуре и нажимаю клавишу «а» на внутренней клавиатуре, вместо того, чтобы видеть появление буквы «А» в верхнем регистре, я получаю «а» в нижнем регистре.

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

Есть ли способ заставить одну клавиатуру принимать ввод клавиш-модификаторов с другой? В идеале я должен иметь возможность удерживать клавишу-модификатор на любой клавиатуре и вводить другой символ с любой из них, а OSX распознает комбинацию клавиш.

Клавиатура: A1048 (не новая) Macbook Pro: MacBookPro8,2; 15-дюймовый; конец 2011 г.; Маверикс 10.9.2

(Ненужная предыстория для любознательных: я пытаюсь предотвратить запястный туннель, который, как мне кажется, возникает из-за программирования только на клавиатуре моего Macbook. Мои руки сдвинуты достаточно близко друг к другу, чтобы печатать на клавиатуре, и я, по сути, сжимаю руку в стороны так, что внешние стороны моих ладоней и предплечий образуют угол в 135 градусов, что является ужасной позой. дальше друг от друга.)

Ха, это странно. Я могу подтвердить, что получаю такое же поведение с аналогичной настройкой.
В каком-то смысле это имеет для меня смысл. OSX читает две отдельные клавиатуры — и это прямо сообщает вам об этом в ОС — но одновременно получает ввод с обеих. Вероятно, он считает эту комбинацию клавиш (обычно задаваемую с одной клавиатуры) одним нажатием клавиши, поэтому он распознает только одно нажатие клавиши с каждой клавиатуры, независимо друг от друга. (т.е. один SHIFT-ничего и один «а».) Я надеюсь, что в OSX есть хитрость, которая победит это, или, может быть, какая-то сторонняя вещь, которая выполняет это.
Я должен упомянуть, что я разработчик iOS, поэтому я понимаю программирование, и я не полностью против или против хакерского решения. Возможно, обманывает ОС, заставляя ее думать, что клавиатуры идентичны или что-то в этом роде.
Я чувствую, что ControllerMate может сработать для этого, но у меня недостаточно опыта, чтобы ответить на ваш вопрос.
КонтроллерMate. Глядя на это сейчас.
Насколько я могу судить, Controllermate не будет работать (по крайней мере, для большинства клавиатур), если вы не добавите что-то для каждой отдельной комбинации.
Да, я тоже не был уверен, что это жизнеспособный вариант. Это было слишком сложно, и я слишком мало знал о тонкостях его использования, чтобы так говорить. Все еще ищу ответ.

Ответы (2)

KeyRemap4MacBook

Я знал, что где-то видел это…

Все, что вам нужно сделать, это установить KeyRemap4Macbook .

Из раздела "неявное поведение" :

Поделитесь состоянием клавиш-модификаторов со всеми подключенными клавиатурами:

При использовании нескольких клавиатур клавиши-модификаторы являются общими для всех клавиатур.

Например, нажатие «клавиши Shift на клавиатуре1» и «клавиши пробела на клавиатуре2» отправляет сдвиг-пробел.

Да, это работает и на других компьютерах Mac, а не только на MacBook.

ЭТО ИМЕННО то, что мне было нужно! Как обычно, я уже нашел ответ на этот вопрос много месяцев назад; Я просто не смог проверить свои закладки. Фу! Большое спасибо!
@baptzmoffire Да, я наконец-то создал правильный гиперключ, а затем нашел это в документации. К сожалению, это не работает для того, на что я надеялся, позволяя ControllerMate использовать ключи-модификаторы (причина, по которой я назначил награду за этот вопрос), но в итоге я все равно полностью переключился с ControllerMate на KeyRemap4MacBook для этого материала.
с 2015 года это больше не работает, keyremap4macbook заменен на karabiner, тогда это -- github.com/tekezo/Karabiner/issues/500
Используя katabiner, из коробки желаемая функциональность уже есть. Нечего настраивать. По состоянию на май 2019 г.

Я сделал утилиту, которая делает это и работает на Sierra.

Я надеюсь, что публикация этого не противоречит правилам, но вы можете получить его здесь: https://www.electrollama.net/multimod