Como faço para 'bloquear o teclado' para evitar que mais pressionamentos sejam enviados no X11 / Linux / Gnome?

Eu estou escrevendo um anti-RSI / programa de quebra de digitação para o Ubuntu Linux em python. Eu gostaria de poder "bloquear o teclado" para que todos os pressionamentos de tecla sejam ignorados até eu "desbloqueá-lo". Eu quero ser capaz de forçar o usuário a fazer uma pausa na digitação.

Eu gostaria de alguma maneira programática para "desligar" o teclado (quase instantaneamente) até que meu programa o libere mais tarde (o que poderia ser de 0.1 seg → 10 seg depois). Enquanto eu "desliguei o teclado", nenhum pressionamento de teclas deve ser enviado para janelas, gerenciadores de janelas, etc. De preferência, a tela ainda deve mostrar o mesmo conteúdo. O teclado deve estar travado mesmo que este programa não esteja no forefont e não tenha foco.

Alguns programas já podem fazer isso (por exemplo, Work Rave)

Como faço isso no Linux / X11? (Preferível em Python)

questionAnswers(4)

yourAnswerToTheQuestion