Encontrei uma solução que usa uma abordagem descrita aqui .
A única coisa que eu realmente modifiquei em seu script foi a tabela xkb_symbols. Mina diz:
xkb_symbols "remote" {
key <FK05> { [ Escape ] };
};
que remapeia a tecla f5 para escapar. Durante uma apresentação de slides do OpenOffice, a tecla de escape sai do programa.
Para executar o OpenOffice de modo que comece imediatamente a apresentação de slides, invoco-o como tal:
soffice --invisible --norestore -show <slideshow file>
Chamo-o desta forma a partir da minha aplicação C ++ nativa com a função system (). Quando estiver em funcionamento, pressionar o botão remapeado no controle remoto sairá da apresentação e retornará o foco para o meu aplicativo.