Dus je houdt van je Linux-machine, maar je moet dat ene (of waarschijnlijk een paar) Windows-programma op je machine hebben staan. Je vond wat een toverstokje leek en installeerde Wine. Maar wanneer u die favoriete app gaat gebruiken, werken de sneltoetsen die u gewend bent in de Windows-wereld hier gewoon niet in Linux! Dus wat doe je? We laten u zien hoe u sneltoetsen toewijst en aan uw Wine-programma koppelt. We gaan ervan uit dat je Wine al hebt geïnstalleerd.

Merk op dat sommige apps vereisen dat je expliciet sneltoetsen inschakelt. Dit is normaal te vinden in het menu "Opties" of "Instellingen". Voor Balabolka zou je bijvoorbeeld sneltoetsen moeten inschakelen in de instellingen.

De meest gebruikelijke hulpmiddelen voor het uitvoeren van deze sleuteltoewijzing zijn xdotool en xte. Dit zijn beide belangrijke emulators die u kunt gebruiken om scripts aan te sluiten die overeenkomen met toetsaanslagen. Dan moet je Xbindkeys gebruiken om speciale toetsen of knoppen te binden. Laten we kijken hoe deze te gebruiken, en andere manieren waarop u sneltoetsen kunt toewijzen aan Wine-programma's.

xdotool

Met Xdotool kunt u veel Windows-taken uitvoeren vanaf de opdrachtregel. Het laat je in essentie toetsenbord- en muisactiviteit simuleren. U kunt hier de volledige toewijzing opzoeken, maar voor onze doeleinden gebruiken we slechts twee basisopdrachten: search en key . Eerste stappen eerst - installeer xdotool met de gebruikelijke opdracht:

 sudo apt-get install xdotool 

Vervolgens maakt u de toewijzing die u op deze manier wilt:

 xdotool key --window $ (xdotool search --name YOUR_APP) YOUR_KEYSTROKE 

Laten we Spotify als voorbeeld nemen en kijken hoe we de Global Media Hotkeys in kaart kunnen brengen. Laten we het voor het gemak in een script plaatsen (met dank aan Arch linux Wiki) music.sh

 #! / bin / sh case $ 1 in "play") key = "XF86AudioPlay" ;; "volgende") key = "XF86AudioNext" ;; "vorige") key = "XF86AudioPrev" ;; *) echo "Gebruik: $ 0 play | next | vorige" exit 1 ;; esac xdotool key --window $ (xdotool search --name "Spotify (Premium)? - Linux Preview" | head -n1) $ key exit 0 

Vergeet niet om uw script uitvoerbaar te maken met een eenvoudige " chmod ". Zodra u dit in kaart hebt gebracht, moet u dit script binden aan elk hulpprogramma dat toetsaanslagen daadwerkelijk vangt. Hier is hoe het te doen met xbindkeys

 ~ / bin / musickeys.sh spelen  ~ / bin / musickeys.sh next  ~ / bin / musickeys.sh vorige 

Het meest voorkomende probleem dat de meeste mensen tegenkomen tijdens het gebruik van xdotool of andere sleuteltoewijzingen heeft te maken met een extra Ctrl-, Shift- of Alt-toets die ingedrukt wordt terwijl ze de snelkoppeling instellen, of soms met een extra key_up of key_down. Er is een eenvoudige manier om de extra modifiers te verwijderen - gebruik gewoon de optie " clearmodifiers ".

 xdotool-toets --clearmodifiers XF86AudioRaiseVolume 

De clearmodifiers zoeken naar speciale toetsen zoals Shift, Ctrl of Alt die worden ingedrukt, verwijdert ze door de juiste volgorde van toets omhoog te verzenden, voert uw xdotool-opdracht uit en herstelt uw modifier door de betreffende sleutel te verzenden. Je kunt meer details opzoeken op de man-pagina.

Een voorbeeld met Foobar

We hebben zojuist gezien hoe de mondiale media-sneltoetsen in kaart te brengen met Spotify. Het is veel eenvoudiger met foobar. Wijn staat foobar normaal gesproken toe om de multimediatoetsen in kaart te brengen, als deze niet al in kaart is gebracht door een ander programma. Voor het instellen van globale multimedia-sneltoetsen met Foobar + Wine, hier is wat je kunt doen:

- Open de "Gnome Configuration Editor".

- Selecteer in het linkernavigatiedeelvenster "/ apps / metacity / keybinding_commands" en stel in

 command_1 - wine ~ / .foobar2000 / foobar2000.exe / playpause command_2 - wine ~ / .foobar2000 / foobar2000.exe / stop command_3 - wine ~ / .foobar2000 / foobar2000.exe / next command_4 - wine ~ / .foobar2000 / foobar2000.exe / prev 

Ga vervolgens naar "/ apps / metacity / global_keybindings" en definieer:

 run_command_1 - XF86AudioPause run_command_2 - XF86AudioStop run_command_3 - XF86AudioNext run_command_4 - XF86AudioPrev 

XTE

Xte is een ander hulpmiddel dat u kunt gebruiken om toetsenbordinvoer te mappen. Het maakt deel uit van het xautomation-pakket en u kunt het installeren met

 sudo apt-get install xdotool sudo apt-get installeren xautomation sudo apt-get install xwd 

Het genereert nep-invoer (sleutel of muis) met behulp van de XTest-extensie. Laten we een eenvoudig voorbeeld nemen. Stel dat u "Ctrl + PageUp" wilt toewijzen om naar het vorige tabblad te gaan en gebruik te maken van de XF86Back-sleutel. Maak een script met uitvoerbare machtigingen (755), bel is sc_back:

 ! / bin / bash / usr / bin / xte 'keydown Control_L' 'keydown Page_Up' 'keyup Page_Up' 'keyup Control_L' 

Zorg er vervolgens voor dat u XF86Back toewijst als de snelkoppeling voor sc_back. Dit zou u moeten laten overschakelen naar het vorige tabblad met "Ctrl + PageUp".

Afhankelijk van wat u precies wilt bereiken, zijn er veel manieren om sneltoetsen in kaart te brengen en te binden. We hebben enkele van de voorbeelden behandeld in deze zelfstudie, maar er zijn ook veel andere manieren. Autokey biedt bijvoorbeeld een van de schoonste manieren. Net als de xdotool-methode die we hierboven voor Spotify hebben beschreven, kunt u hier scripts maken en deze toewijzen aan bepaalde sneltoetsen. Onze eerdere tutorial over dit onderwerp kan je laten zien hoe je het kunt gebruiken. U kunt experimenteren om erachter te komen welke methode het beste voor u werkt.

Afbeeldingscredits: William Hook, F Hashemi, Walt Stoneburner