Como vincular hotkeys globais a um programa WINE no Linux

Índice:

Como vincular hotkeys globais a um programa WINE no Linux
Como vincular hotkeys globais a um programa WINE no Linux

Vídeo: Como vincular hotkeys globais a um programa WINE no Linux

Vídeo: Como vincular hotkeys globais a um programa WINE no Linux
Vídeo: Como limpar o programa padrão de uma extensão ou tipo de arquivo - YouTube 2024, Abril
Anonim
Você já instalou um programa do Windows no Linux no WINE, apenas para descobrir que ele não vincula mais as teclas de atalho do sistema? A HTG tem o trabalho que você está procurando.
Você já instalou um programa do Windows no Linux no WINE, apenas para descobrir que ele não vincula mais as teclas de atalho do sistema? A HTG tem o trabalho que você está procurando.

Imagem por djeucalipto

visão global

Qualquer um que já tenha pensado na idéia de mudar para o Linux, provavelmente encontrou muito rapidamente o problema de que há esse aplicativo do Windows que você PRECISA para funcionar. Já mostramos que você pode realizar isso usando o WINE.

Para este escritor, o aplicativo era um aplicativo Text-To-Speech que utiliza o mecanismo Microsoft SAPI4. Instalar o programa no WINE foi muito fácil, mas após a conclusão eu descobri rapidamente que as teclas de atalho usadas para acionar as várias ações do programa (iniciar a leitura, parar de ler, etc ') não funcionavam e que isso é um problema conhecido. problema com o vinho.

Fico feliz em dizer que depois de muitas pesquisas, finalmente encontrei a solução na forma de um utilitário GNU que pode manipular a interface do X.org usando funções nativas. Embora não seja o único de seu tipo, o xdotool é o mais fácil de se trabalhar e já estava nos repositórios do Ubuntu / Mint.

xdotool

O programa xdotool pode fazer muitas tarefas relacionadas à janela a partir do CLI, com isso dito, os únicos dois que vamos utilizar são “search” e “key”. A função "pesquisa" faz exatamente isso, procura por um ID de janela de acordo com os parâmetros que você definiu para ele. A função "chave" permite simular um toque de tecla para um ID de janela.

Instalação e configuração

Supõe-se que você já tenha instalado o WINE e o programa que você precisa nele. Neste exemplo, usaremos Balabolka como o aplicativo “Windows”, pois é uma boa réplica do programa original que eu precisava para essa solução (2º centro de fala).

Se você também optou por usar o Balabolka, é necessário ativar sua capacidade de teclas de atalho. Nota: Você pode querer instalar o TTSReader ou o 2nd speech center, mesmo no modo de demonstração, para que as vozes do SAPI sejam instaladas.

Abra o programa e vá para as configurações (Shift + F6) em "Opções" -> "Configurações".

Vá para a aba de teclas de atalho e marque a caixa de seleção "Use hotkeys globais"
Vá para a aba de teclas de atalho e marque a caixa de seleção "Use hotkeys globais"
 Clique OK.
Clique OK.

Deixe-o rodando em segundo plano para que ele possa fazer seu trabalho quando ligarmos as teclas a ele.

Instale o xdotool emitindo:

sudo apt-get install xdotool

Ligação global

O programa xdotool por si só não nos ajuda a nos ligar globalmente às teclas de atalho, mas podemos usar o sistema de atalho do sistema operacional já existente. O que faremos é criar um script simples que utilize o xdotool para enviar as teclas que desejamos para o programa Balabolka e chamá-lo pelo sistema de teclas de atalho do sistema operacional.

Crie um script chamado “start_read.sh” com o seguinte conteúdo:

xdotool key --window $( xdotool search --limit 1 --all --pid $( pgrep balabolka ) --name Balabolka ) 'ctrl+alt+F9'

Crie outro script dessa vez chamado “stop_read.sh” com o seguinte conteúdo:

xdotool key --window $( xdotool search --limit 1 --all --pid $( pgrep balabolka ) --name Balabolka ) 'ctrl+alt+F7'

Nota: Sei que este é um folheto que não requer um script, mas o programa “Atalhos de teclado” do Mint / Ubuntu não cooperava apenas com a invocação direta. Se você sabe como fazer isso, por favor, compartilhe nos comentários abaixo.

Travando este comando para seus componentes, o que vemos é:

  • A parte “–pid $ (pgrep balabolka)” executa um “pgrep” no programa que queremos usar para determinar seu ID de processo. Isso restringirá o xdotool arquivado de “pesquisa” para apenas aquele PID.
  • A parte “xdotool search –limit 1 –all… –name Balabolka”, restringe ainda mais o campo de pesquisa do xdotool e limita as respostas retornadas ao 1. Como no nosso caso, não importa qual dos IDs de janela retornados do programa, limitando o resultado funciona como um formatador para o comando “chave”. Você pode achar que precisa massagear essa parte mais se isso importa para o programa que você está usando.
  • A parte “xdotool key –window% WINDOW_ID%“ctrl + alt + F7 ″”envia o pressionamento de tecla desejado para o windowID que foi obtido pelas partes anteriores.

Torne os scripts executáveis.

Teclado Linux Mint atalhos

No Linux Mint, as teclas de atalho globais são definidas no programa "Atalhos de teclado".

Depois de aberto Clique em "Adicionar" para criar um novo atalho personalizado:
Depois de aberto Clique em "Adicionar" para criar um novo atalho personalizado:
Dê um nome e, em "Comando", forneça o caminho completo para um dos scripts que criamos acima. Repita o processo para o segundo script.
Dê um nome e, em "Comando", forneça o caminho completo para um dos scripts que criamos acima. Repita o processo para o segundo script.

Agora, na coluna "Atalhos", clique na palavra "Desativado" para obter a opção de definir uma nova combinação de teclas. Observação: você pode, se desejar, usar algo diferente do padrão do programa. De certo modo, criar um “remapeamento” para as combinações de teclas que, dependendo do programa que você usa, estaria fora de seu controle.

Bata no combo que você selecionou e ouça a mágica.
Bata no combo que você selecionou e ouça a mágica.

Teclado Ubuntu

No Ubuntu, o programa que define as teclas de atalho globais é chamado apenas de "teclado".

Mude para o separador "Atalhos" e selecione "Atalhos personalizados"
Mude para o separador "Atalhos" e selecione "Atalhos personalizados"
Image
Image

Clique no sinal de mais para adicionar um atalho. Dê um nome e, em "Comando", forneça o caminho completo para um dos scripts que criamos acima. Repita o processo para o segundo script. Agora clique na palavra "Disabled" para obter a opção de definir uma nova combinação de teclas.

Nota: Repetindo a nota da seção Mint, você pode, se desejar, usar algo diferente do padrão do programa. De certo modo, criar um “remapeamento” para as combinações de teclas que, dependendo do programa que você usa, estaria fora de seu controle.

Notas do autor

Toda vez que eu considerei seriamente mudar para o Linux, esse problema foi o primeiro da minha lista de problemas. Não é que o Linux não tenha problemas, mas esse foi o verdadeiro obstáculo para mim. Eu tentei uma e outra vez, perguntei aos amigos / pessoas no campo e até fiz uma recompensa… Eu estou feliz que esta saga acabou e que a minha alma pode finalmente descansar. É minha esperança que eu ajudei alguém para não ter que passar pela mesma provação.

Doc Brown: Demorei quase trinta anos e toda a minha fortuna familiar para realizar a visão daquele dia. Meu Deus, já faz tanto tempo assim?

Recomendado: