Звучит так, будто кто-то пытается написать какую-нибудь грязную программу?
Для Windows: основной идеей будет перехват оконных сообщений (WM_KEYDOWN и WM_KEYUP) и изменение значений / идентификаторов ключей перед их передачей.
В зависимости от вашей версии для этого потребуется запуск кода с правами администратора.
У меня нет опыта в других системах по этому поводу, но основная идея, скорее всего, будет такой же.