Фон: последние пять лет я использовал аппаратные средства Mac (большинство ноутбуков MacBook Pro по большей части) и программное обеспечение после многих лет использования Gnu/Linux на обычном ПК с эргономичными клавиатурами. Что еще более важно, как тяжелый пользователь Emacs, переход на Mac был болезненным, а стандартная короткая клавиатура Apple была безумной и неизбежной. Я предотвратил RSI с помощью инструмента Karabiner для сделайте два небольших, но очень важных изменения: 1) изменение клавиши "колпачок" для генерации клавиши меню (f13) при нажатии в одиночку, а ключевой код с управляющим ключом - при нажатии другой клавиши; 2) сменить ключ возврата аналогичным образом, получить возврат при нажатии в одиночку и ключ ключа с измененным ключом при нажатии другой клавишей. Разочарованный недавними решениями Apple для аппаратного и программного обеспечения, теперь я возвращаюсь в Gnu/Linux (Ubuntu, если это имеет значение), но придерживается ноутбуков Mac.
Вопрос: поскольку Karabiner - это инструмент только для OS X, у которого нет доступного аналога Gnu/Linux, похоже, мне придется писать и/или модифицировать некоторый код, чтобы получить ключ caplock и return Карабинер допускает двойное поведение. Автор Karabiner пишет, что xbindkeys и rbindkeys выполняют ключевое переназначение, но на первый взгляд они, похоже, не обрабатывают поведение двойной функции. Теперь я борюсь с портированием Карабинера или созданием нового инструмента целиком. И, несомненно, могут быть и другие подходы. Поэтому мой вопрос: какие советы по программированию вы бы предложили для решения этой проблемы? Особенно тот, который может быть разработан в часах, днях или неделях, а не в месяцах.
Примечания
1) Существуют различные подходы, связанные с изменениями поведения, такими как управление переключением и командные ключи. Многие из них были испытаны с разной степенью удовлетворения. Параллельный подход Karabiner - это ИМХО, далеко и далеко, наиболее эффективный в том, что он обеспечивает симметрию управляющего ключа на домашней строке клавиатуры и для всех приложений!
2) Также может быть предложено другое оборудование. Я пробовал компьютеры Dell, HP, Lenovo, Acer и смотрел гораздо больше. Ни один из них не сопоставим с объединенной мощностью, размером, чувством и стилем лучших продуктов Apple, хотя и по высокой цене. Например, Dell Precision 7510 громоздка и имеет трекпад, который похож на наждачную бумагу; Lenovo X1 (очень хорошая система) не имеет порта Thunderbolt; и др.
3) Внешние клавиатуры также не являются стартером из-за требования к ноутбуку; внешняя клавиатура на самолете или поезде не происходит.