Я боролся с этой точной проблемой в течение нескольких месяцев, и в итоге остановился на uawks как на лучшем решении. Да, fn-вещи могут иногда становиться немного шаткими, но обычно это работает.
Я начал с сопоставления скан-кода, в конце концов написал несколько сценариев AutoHotKey вместе с dll Вейля для добавления поддержки клавиш fn, и в конце концов обнаружил, что uawks делал все, что делал я, но с приятным небольшим пользовательским интерфейсом.
Uawks - это просто пользовательский интерфейс поверх скриптов AutoHotKey, так что вы всегда можете зайти и настроить код для поддержки собственной марки горячих клавиш. Вы можете добавить небольшое отображение скан-кода, если вам нужно сделать что-то, с чем у uawks / AutoHotKey есть проблемы.
Мое окончательное решение проблемы закончилось покупкой Mac, так что всегда есть.