como lidar com aplicativos aclamados por teclado

5

Estou tendo um problema muito específico, mas qualquer ajuda ajudará a entender o relacionamento de X com o teclado.

Eu gostaria de poder lançar o programa ElectricSheep além de tocar músicas do XBMC. Eu já tenho o script de lançamento configurado e posso lançar o ElectricSheep sem problemas.

O problema ocorre quando tento fechá-lo. Se eu iniciar o ElectricSheep sem o XBMC em execução, pressionar a tecla de escape fecha-o. Se o XBMC estiver rodando (ou mesmo se eu incluir uma linha no script para matar o xbmc antes do lançamento), ele pega toda a entrada do teclado, fazendo minha única saída do ElectricSheep para matá-lo de uma sessão ssh ou matar o próprio X.

Se eu executo o xev enquanto o XBMC está rodando, ele não recebe entrada.

Existe alguma maneira de iniciar um aplicativo e explicitamente dar-lhe o teclado X? Obrigado por qualquer ajuda!

    
por Tammer Ibrahim 18.03.2012 / 20:45

2 respostas

1

Depende de qual aplicativo tem o 'foco'. Eu prefiro 'foco segue mouse', então qualquer que seja a janela em que meu mouse esteja, é onde minhas impressoras de teclado vão se registrar. Outros modos são 'click to focus' e algumas variações em 'focus under mouse'. Microsoft Windows é "Click to Focus" (como um exemplo), embora se você jogar com algumas das ferramentas de tweakui, você pode obter 'foco segue mouse' se você desejar.

Não tenho certeza de qual modo o seu desktop do X-windows está inicialmente, Penso que normalmente é 'clique para focar' por padrão, você teria que verificar o seu, minha configuração para o foco do mouse está sob 'comportamento de janela' nas configurações do sistema, KDE 4.7.4)

Eu vou admitir que não tenho muita experiência com Electric Sheep (sonhando screensaver, certo?) e XMBC (media center, IIRC). Ambos parecem que gostariam de ser aplicativos de tela cheia, o que poderia apresentar problemas por causa da perda de foco. Quase soa como um problema com ES, já que se está em primeiro plano (tendo assumido como um protetor de tela ...) deve capturar qualquer pressionamento de teclas e usar isso como um sinal de aborto para sair, retornando sua tela para qualquer outra coisa em execução. p>

Você pode tentar o ALT-TAB para alternar entre os vários aplicativos que você executou, o que deve girar o foco entre eles, depende de como o XMBC & ES estão sendo usados, seja em janelas ou em tela cheia.

Você pode controlar o foco em linha de comando usando vários programas, é claro, eu fiquei em branco ... olhando meus diretórios / bin e minhas anotações para encontrá-los. Eu escrevi meus próprios programas de controle há alguns meses para um projeto, vendo o que eu poderia fazer programaticamente para controlar janelas e focar ...

ah, aqui está uma:

wmctrl, man page diz que você pode levantar uma janela usando a opção '-R' ...

Há outra que eu achei mais útil, embora eu esteja totalmente em desvantagem para nomear hoje, talvez alguém saiba o que eu estou insinuando e postar. Vou continuar olhando, evidentemente, minha loira está chutando duro hoje.

    
por 20.03.2012 / 17:18
1

Como um hack, talvez seja possível executar o aplicativo "ganancioso" no Xephyr ou Xvnc ou tal e tipo de dissociação do seu servidor X real. Use-o pelo controle remoto.

Uma resposta mais correta pode ser reconfigurar ou corrigir o código para que o aplicativo "ganancioso" não seja.

Ou, se o aplicativo realmente quiser invadir a tela, encontre uma maneira de executar o ES como um plugin de algum tipo.

    
por 20.03.2012 / 12:09