hur man binder globala snabbtangenter för att ett vin program under Linux

Har du någonsin installerat ett Windows-program i Linux under Wine, bara för att upptäcka att det inte binder systemomfattande hot-nycklar längre? HTG har arbete runt du har letat efter.

Bild av djeucalyptus

Var och en som har ens tänkt tanken på att byta till Linux, har antagligen mycket snabbt stöta på problemet att det är en Windows-program som du behöver för att fungera. Vi har redan visat att du kan åstadkomma detta genom att använda vin.

För denna författare, programmet var en text-till-tal program som utnyttjar Microsoft SAPI4 motorn. Installera programmet enligt vin var en bris, men efter avslutad Jag har snabbt funnit att hot-nycklar som används för att utlösa olika åtgärder i programmet (börja läsa, sluta läsa, etc) fungerade inte och att detta är en känd problem med vin.

Jag är glad att kunna säga att efter eoner av sökande, har jag äntligen hittat lösningen i form av en GNU verktyg som kan manipulera X.org gränssnittet med infödda funktioner. Även om inte den enda i sitt slag, är xdotool den som var lättast att få arbeta och var redan i Ubuntu / Mint förråd.

Den xdotool programmet kan göra många fönster relaterade uppgifter från CLI, som sagt, de enda två kommer vi att använda är “sök” och “nyckel”. Funktionen “sök” gör just det, söker efter ett fönster / s ID enligt parametrar som du anger för det. “Nyckeln” funktion gör det möjligt att simulera en nyckel stroke ett fönster ID.

Installation och konfiguration

Det förutsätts att du redan har installerat vin och program du behöver under den. I det här exemplet kommer att använda Balabolka som “Windows” ansökan eftersom det är en bra freeware kopia av det ursprungliga programmet jag behövde den här lösningen för (2nd Speech Center).

Om du har valt att använda Balabolka också, måste du aktivera dess snabbtangenter förmåga Anm. Du kanske vill installera antingen TTSReader eller 2nd Speech Center även i demo-läge, så att SAPI röster kommer att installeras.

Öppna programmet och gå till inställningar (Shift + F6) under “Alternativ” -> “Inställningar”.

Gå till fliken snabbtangenter och kontrollera kryssrutan “Använd globala snabbtangenter”,. Klicka på OK.

Låt den körs i bakgrunden så att den kan göra sitt jobb när vi haka tangenttryckningar till det.

Installera xdotool genom att utfärda

sudo apt-get install xdotool

Den xdotool programmet på egen hand hjälper oss inte binder globalt till snabbtangenter, men vi kan använda redan existerande OS hotkey systemet. Vad vi gör är att skapa ett enkelt skript som utnyttjar xdotool att skicka tangenttryckningar vi vill till Balabolka programmet och kallar det från operativsystem hotkey systemet.

Skapa ett skript som kallas “start_read.sh” med följande innehåll

xdotool nyckel –window $ (xdotool sökning –limit en –Alla –pid $ (pgrep Balabolka) –name Balabolka) “Ctrl + Alt + F9”

Skapa ett annat skript här gången kallas “stop_read.sh” med följande innehåll

xdotool nyckel –window $ (xdotool sökning –limit en –Alla –pid $ (pgrep Balabolka) –name Balabolka) “Ctrl + Alt + F7”

Obs: Jag vet att detta är en liner som inte kräver ett manus, men Mint / Ubuntu “Kortkommandon” program, inte samarbetade med bara åberopar den direkt. Om du vet hur man gör det, vänligen dela i kommentarerna nedan.

Bromsning detta kommando för att dess komponenter, vad vi ser är

Gör skript körbar.

Linux Mint Kortkommandon

Under Linux Mint är den globala snabbtangenter in i “Kortkommandon” program.

Öppnad Klicka på “Lägg till” för att skapa en ny anpassad genväg

Ge den ett namn och under “Command” ge den fullständiga sökvägen till en av de skript som vi har skapat ovan. Upprepa processen för den andra skriptet.

Nu, på “genvägar” Kolumn, klicka på “Disabled” ord för att få möjlighet att ställa in en ny tangentkombinationen, Anmärkning:. Du kan om du vill använda något annat än programmets standard. På ett sätt att skapa en “mappa” till tangentbindningar som, beroende på vilket program du använder, annars skulle vara utanför din kontroll.

Hit combo som du har valt och höra magi.

ubuntu Tangentbord

Under Ubuntu, är programmet som sätter den globala snabbtangenter bara kallas “Keyboard”.

Växla till fliken “Genvägar” och välj “Custom genvägar”.

Klicka på plustecknet för att lägga till en genväg. Ge den ett namn och under “Command” ge den fullständiga sökvägen till en av de skript som vi har skapat ovan. Upprepa processen för andra skript,. Nu klicka på “Disabled” ord för att få möjlighet att ställa in en ny tangentkombinationen.

Obs: Upprepa på anteckningen från Mint avsnittet kan du, om du vill använda något annat än programmets standard. På ett sätt att skapa en “mappa” till tangentbindningar som, beroende på vilket program du använder, annars skulle vara utanför din kontroll.

Varje gång jag har allvarligt övervägt att flytta till Linux, var den första på min lista över problem denna fråga. Det är inte att Linux inte har problem, men detta var den verkliga hindret, för mig. Jag har försökt gång på gång, frågade vänner / folk på fältet och även gjort det till en belöning … Jag är glad denna saga är över och att min själ äntligen kan vila,. Det är min förhoppning att jag har hjälpt någon ute för att inte behöva gå igenom samma prövning.

Doc Brown: Det har tagit mig nästan trettio år och hela min familj förmögenhet att förverkliga visionen om dagen. Herregud, har det varit så länge?

Jag är glad denna saga är över och att min själ kan äntligen vila.

Vad är det med melodrama? Det är som “Installera Linux, en man berättelse” … tillverkning av.

Bara köra sak på Windows. Dual boot, virtualisera, jag vet inte. Men det är … mjukvara, inte saker av episka filmer.

@Keith; Problemet är “Hur man inte förlora funktionalitet du redan har, vid övergången till Linux”? Om du kör sak virtualiserade, vad som är ännu meningen med det alls,? Du förstår inte … men du kommer …

Så melodramatiskt … 🙂 * cue episka låten, änglar sjunger, hela partiet *

@Keith: Jag tror att han bara vara dum.

Skönheten i Linuxvärlden är att lösningarna är rikligt och varierat. Tyvärr innebär detta att användarna måste välja bland en stor uppsättning av möjligheter. Ofta är det svårt eller omöjligt utan att först skaffa kunskap som behövs för att ställa användbara frågor detta val. Svarar med attityd, “… I got mine … gå räkna ut …” helt enkelt bidra till uppfattningen att Linux är en lekplats.

Det finns många Linux-användare som åstadkomma fantastiska saker på kort tid. Andra, däribland jag själv, kamp blir ännu triviala saker som arbetar som andra skryta, “… fungerar ur lådan …” Varför har vi problem? Jag har ingen aning. När ett av dessa problem påverkar en uppgift som vi desperat behöver i vårt arbetsflöde, är det oerhört frustrerande. Kommentarer om omedelbara lösningar bara göra våra frustrationer värre.

Hälsningar; ~~~ 0, -Dan

Det tar cirka fem liter vatten för att skapa en en liters plastvattenflaska.