como lidar com aplicativos ávidos por teclado

como lidar com aplicativos ávidos por teclado

Estou tendo um problema muito específico, porém qualquer ajuda ajudará a entender a relação do X com o teclado.

Eu gostaria de poder lançar o programa ElectricSheep além da música reproduzida no XBMC. Já configurei o script de inicialização e posso iniciar o ElectricSheep sem problemas.

O problema ocorre quando tento fechá-lo. Se eu iniciar o ElectricSheep sem o XBMC em execução, pressionar escape o fecha. Se o XBMC estiver em execução (ou mesmo se eu incluir uma linha no script para matar o xbmc antes de iniciar), ele captura todas as entradas do teclado, fazendo minha única rota fora do ElectricSheep para matá-lo de uma sessão ssh ou matar o próprio X.

Se eu executar o xev enquanto o XBMC estiver em execução, ele não receberá nenhuma entrada.

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

Responder1

Depende de qual aplicativo tem o 'foco'. Eu prefiro 'o foco segue o mouse', então qualquer que seja a janela em que meu mouse estiver, é onde meus pressionamentos de teclado serão registrados. Outros modos são 'clique para focar' e algumas variações de 'foco sob o mouse'. O Microsoft Windows é "Click to Focus" (por exemplo), embora se você brincar com algumas das ferramentas tweakui, poderá obter 'foco segue o mouse', se desejar.

Não tenho certeza de qual modo sua área de trabalho do X-windows está inicialmente, ACHO que geralmente é 'clique para focar' por padrão, você teria que verificar o seu, minha configuração para o foco do mouse está em 'comportamento da janela' nas configurações do sistema , KDE 4.7.4)

Admito que não tenho muita experiência com Electric Sheep (protetor de tela dos sonhos, certo?) E XMBC (media center, IIRC). Ambos parecem querer ser aplicativos de tela inteira, o que pode apresentar problemas devido à perda de foco. Quase parece um problema com o ES, já que se estiver em primeiro plano (tendo assumido o papel de protetor de tela...), DEVE capturar todas as teclas digitadas e usá-las como um sinal de aborto para sair, retornando sua tela para qualquer outra coisa em execução.

Você pode tentar ALT-TAB para alternar entre os vários aplicativos em execução, o que deve alternar o foco entre eles. Isso depende de como o XMBC e o ES estão sendo usados, seja em janela ou em tela inteira.

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

ah, aqui está um:

wmctrl, a página de manual diz que você pode abrir uma janela usando a opção '-R' ...

Há outro que achei mais útil, embora não consiga nomeá-lo hoje, talvez alguém saiba o que estou sugerindo e poste. Vou continuar procurando, evidentemente minha loira está forte hoje.

Responder2

Como um hack, talvez seja possível executar o aplicativo "ganancioso" emXéfiroouXvncou algo assim e dissocie-o do seu servidor X real. Use-o remotamente.

A resposta mais correta seria reconfigurar ou corrigir o código para que o aplicativo "ganancioso" não o seja.

Ou, se o aplicativo realmente pretende assumir o controle da tela, encontre uma maneira de executar o ES como algum tipo de plug-in.

informação relacionada