При включённом и при выключеном намлоке нажатие возвращает разный keysym
Вот пример
Клавиша 0 на цифровой клвиатуре
При включённом намлоке
state 0x10, keycode 90 (keysym 0xffb0, KP_0), same_screen YES,
При выключенном
state 0x0, keycode 90 (keysym 0xff9e, KP_Insert), same_screen YES,
Как видите, в обоих случаях код клавиши одинаковый (keycode 90), но keysym при этом разный - keysym 0xffb0 и keysym 0xff9e
Установите себе утилиту xev и используйте её, чтобы получить коды для клавиш
xev | grep keycode
В скрипте потом можно использовать команду
xdotool key 0xffb0
xdotool тоже придётся установить