Page d'accueil » comment » Comment lier les raccourcis globaux à un programme WINE sous Linux

    Comment lier les raccourcis globaux à un programme WINE sous Linux

    Avez-vous déjà installé un programme Windows sous Linux sous WINE, juste pour découvrir qu'il ne lie plus les touches de raccourci système? HTG a le travail que vous avez recherché.

    Image de djeucalyptus

    Vue d'ensemble

    Tous ceux qui ont même envisagé de passer à Linux ont probablement très rapidement rencontré le problème selon lequel il leur fallait cette application Windows. Nous vous avons déjà montré que vous pouvez accomplir cela en utilisant WINE.

    Pour cet auteur, l'application était une application de synthèse vocale utilisant le moteur Microsoft SAPI4. L'installation du programme sous WINE était un jeu d'enfant, cependant, une fois l'opération terminée, j'ai rapidement constaté que les touches de raccourci utilisées pour déclencher les différentes actions du programme (démarrer la lecture, arrêter la lecture, etc.) ne fonctionnaient pas et qu'il s'agissait d'un problème avec le vin.

    Je suis heureux de dire qu'après des éternelles recherches, j'ai finalement trouvé la solution sous la forme d'un utilitaire GNU capable de manipuler l'interface X.org à l'aide de fonctions natives. Bien que n'étant pas le seul du genre, xdotool est celui qui était le plus facile à utiliser et qui se trouvait déjà dans les dépôts Ubuntu / Mint..

    xdotool

    Le programme xdotool peut effectuer de nombreuses tâches liées aux fenêtres à partir de la CLI. Cela dit, les deux seules que nous allons utiliser sont "recherche" et "clé". C’est ce que fait la fonction de recherche. Elle recherche un identifiant de fenêtre / s en fonction des paramètres que vous avez définis. La fonction «clé» vous permet de simuler un trait sur un identifiant de fenêtre.

    Installation et configuration

    Il est supposé que vous avez déjà installé WINE et le programme dont vous avez besoin. Dans cet exemple, nous utiliserons Balabolka en tant qu’application «Windows» car c’est une bonne réplique gratuite du programme original pour laquelle j'avais besoin de cette solution (2e centre de traitement de la parole)..

    Si vous avez également choisi d'utiliser Balabolka, vous devez activer la fonction de raccourci clavier.
    Remarque: vous souhaiterez peut-être installer TTSReader ou 2nd speech center, même en mode démo, pour que les voix SAPI soient installées.. 

    Ouvrez le programme et allez dans les paramètres (Shift + F6) sous «Options» -> «Paramètres».

    Accédez à l'onglet Touches de raccourci et cochez la case «Utiliser les touches de raccourci globales»..

    Cliquez sur OK.

    Laissez-le en marche en arrière-plan pour qu'il puisse faire son travail lorsque vous lui appuyez dessus..

    Installez xdotool en émettant:

    sudo apt-get install xdotool

    Reliure globale

    Le programme xdotool seul ne nous aide pas à nous lier globalement aux touches de raccourci, mais nous pouvons utiliser le système de touches de raccourci du système d'exploitation déjà existant. Nous allons créer un script simple qui utilise xdotool pour envoyer les séquences de touches souhaitées au programme Balabolka et les appeler à partir du système de raccourcis du système d'exploitation..

    Créez un script appelé «start_read.sh» avec le contenu suivant:

    clé xdotool --window $ (recherche xdotool --limit 1 --all --pid $ (pgrep balabolka) --nom Balabolka) "ctrl + alt + F9"

    Créez un autre script appelé «stop_read.sh» avec le contenu suivant:

    clé xdotool --window $ (recherche xdotool --limit 1 --all --pid $ (pgrep balabolka) --nom Balabolka) "ctrl + alt + F7"

    Note: Je sais que c'est un type de doublure qui n'exige pas de script, mais le programme «Raccourcis clavier» de Mint / Ubuntu ne coopérait pas simplement en l'invoquant directement. Si vous savez comment faire, merci de partager les commentaires ci-dessous.

    En freinant cette commande sur ses composants, nous constatons que:

    • La partie “-pid $ (pgrep balabolka)” exécute un “pgrep” sur le programme que nous souhaitons utiliser pour déterminer son ID de processus. Cela limitera le fichier xdotool de «recherche» à ce PID.
    • La partie «xdotool search -limit 1 -all… -name Balabolka» réduit davantage le champ de recherche de xdotool et limite les réponses renvoyées à 1. Comme dans notre cas, le type d'identifiant de fenêtre renvoyé programme, la limitation du résultat agit comme un formateur pour la commande "clé". Vous constaterez peut-être que vous aurez besoin de masser davantage cette partie si le programme que vous utilisez est important..
    • La partie "xdotool key -window% WINDOW_ID%", "ctrl + alt + F7" "envoie la frappe souhaitée à l'id de window qui a été obtenue par les parties précédentes..

    Rendre les scripts exécutables.

    Clavier Linux Mint raccourcis

    Sous Linux Mint, les raccourcis clavier globaux sont définis dans le programme «Raccourcis clavier»..

    Une fois ouvert, cliquez sur «Ajouter» pour créer un nouveau raccourci personnalisé:

    Donnez-lui un nom et sous «Commande», donnez le chemin complet à l'un des scripts que nous avons créé ci-dessus. Répétez le processus pour le deuxième script.

    Maintenant, dans la colonne «Raccourcis», cliquez sur le mot «Désactivé» pour obtenir l’option de définir une nouvelle combinaison de touches..
    Remarque: vous pouvez, si vous le souhaitez, utiliser autre chose que celui par défaut du programme. En un sens, créer un «remappage» de raccourcis clavier qui, selon le programme que vous utilisez, serait autrement hors de votre contrôle.

    Appuyez sur le combo que vous avez sélectionné et entendez la magie.

    Clavier Ubuntu

    Sous Ubuntu, le programme qui définit les raccourcis clavier globaux s’appelle simplement «Clavier».

    Basculez vers l'onglet «Raccourcis» et sélectionnez «Raccourcis personnalisés»..

    Cliquez sur le signe plus pour ajouter un raccourci. Donnez-lui un nom et sous «Commande», donnez le chemin complet à l'un des scripts que nous avons créé ci-dessus. Répétez le processus pour le deuxième script.
    Maintenant, cliquez sur le mot "Disabled" pour avoir la possibilité de définir une nouvelle combinaison de touches.

    Remarque: en répétant sur la note de la section Monnaie, vous pouvez, si vous le souhaitez, utiliser autre chose que celui par défaut du programme. En un sens, créer un «remappage» de raccourcis clavier qui, selon le programme que vous utilisez, serait autrement hors de votre contrôle.

    Notes de l'auteur

    Chaque fois que j'ai sérieusement envisagé de passer à Linux, ce problème était le premier de ma liste. Ce n’est pas que Linux n’ait pas de problèmes, mais c’était le véritable obstacle, pour moi. J'ai essayé maintes et maintes fois, demandé à des amis / à des personnes sur le terrain et même en faire une prime… Je suis heureuse que cette saga soit finie et que mon âme puisse enfin se reposer.
    J'espère que j'ai aidé quelqu'un à ne pas avoir à passer la même épreuve.


    Doc Brown: Il m'a fallu près de trente ans et la fortune de toute ma famille pour réaliser la vision de cette journée. Mon Dieu, cela fait-il si longtemps??