В этом ответе говорится, что вы можете использовать клавиатуру "Scan Code", которая должна быть одинаковой на всех клавиатурах.Таким образом, похоже, что на самом деле существует способ определения расположения клавиш.
Даже без использования кода сканирования вы можете реализовать таблицу сопоставления для всех раскладок клавиатуры, которые вы поддерживаете.Поэтому, если раскладка клавиатуры - американский английский, клавиша будет отображаться на команду A, но на раскладке German German она будет отображаться на команду B, а некоторая другая команда будет отображаться на команду A. Она может работать не для всех клавиатур, но еслиэто работает для всех ваших пользователей, вот что имеет значение.Я понимаю, почему вы искали существующую библиотеку, чтобы сделать это, поскольку это потребовало бы значительных усилий.