Sida 1 av 1
Mappa kortkommandon till tangenter?
Postat: 06 sep 2011, 08:58
av rylleman
Jag har ett
A4 X7-G100-tangentbord som jag har en anpassad keymappning för.
Jag mappar om tangenterna som jag vill med inställningsfilen men lyckas inte med vad jag verkligen vill - lägga kortkommandon, som ctrl+s, till enskilda tangenter.
Jag vill använda tangentbordet som en slags kontrollbox för animation och bildbehandling.
Har letat runt på nätet men inte hittat något bra och enkelt sätt för detta. Någon som har något tips?
* har även frågat på internationella forumet, men där drunknar trådar obesvarade fortare än hade de betongskor på sig...
Re: Mappa kortkommandon till tangenter?
Postat: 06 sep 2011, 18:19
av David Andersson
rylleman skrev:
* har även frågat på
internationella forumet, men där drunknar trådar obesvarade fortare än hade de betongskor på sig...
Jag har svarat på internationella forumet. För enkelhets skull läggar jag in google translates svensköversättning här. (Byt
sova till
sleep och
eko till
echo, annars funkar det inte, och
Kortkommandon heter egentligen
Tangentbordsgenvägar i Gnome.)
translate.google.com skrev:
Jag ska dela upp det i två delproblem: 1) Fånga en knapptryckning för att göra det köra ett kommando. 2) Skicka en knapptryckning från ett kommando. Andra först.
2. Skicka en knapptryckning från ett kommando
Ett sätt att generera viktiga händelser är
xmacroplay i paketet
xmacro. Detta kommando kommer att skicka Ctrl-S efter 2 sekunder:
Kod: Markera allt
sova 2, eko KeyStrPress Control_L KeyStr s KeyStrRelease Control_L | xmacroplay $ DISPLAY
Den 2 sekunders sömn behövs så att Return-tangenten som åberopade kommandot har släppts innan nya knapptryckningar genereras. Det ger också dig tid att flytta fokus från terminalen till videon ansökan, så Ctrl-S skickas till programmet.
När du binder detta kommando för att en nyckel, förkorta sömnen till något i stil med 0,3 sekunder. Fokus ska vara i videon programmet när anropas, så sover bara tillräckligt länge för att åberopa nyckeln att släppas.
Kod: Markera allt
sova 0,3; eko KeyStrPress Control_L KeyStr s KeyStrRelease Control_L | xmacroplay $ DISPLAY
Kommandot kan användas som de är, men för att förenkla hanteringen, spara den i ett manus. Jag antar skriptet kallas ~/bin/mysendctrls. Ett skript kan se ut så här
Kod: Markera allt
#!/bin/bash
# Skicka ett Ctrl-S. Du får fritt kopiera, ändra och distribuera denna skrift.
sova 0,3; eko KeyStrPress Control_L KeyStr s KeyStrRelease Control_L | xmacroplay $ DISPLAY
1. Fånga en knapptryckning för att göra det köra ett kommando (i Gnome)
I Gnome, gå till
System> Inställningar> Kortkommandon. Tryck på
Lägg, ange namn
Skicka Ctrl-S och ange kommandot
mysendctrls.
Rulla ner till Skicka Ctrl-S,
klicka på Inaktiv och
tryck på tangenten det är att åberopa detta kommando.
Alternative
1. Fånga en knapptryckning för att göra det köra ett kommando (i Xfce)
I Xfce, gå till
Inställningar> Tangentbord på fliken
genvägar till program, tryck
Lägg, ange kommandot
mysendctrls och
tryck på tangenten det är att åberopa detta kommando.
Alternative
1. Fånga en knapptryckning för att göra det köra ett kommando (med xbindkeys)
Installera paketet
xbindkeys.
För att hitta namnet på en tangent, kör
och tryck på tangenten som ska bindas. Skapa en fil ~/xbindkeysrc innehåller (ersätt NAME_OF_KEY med namnet på nyckeln).:
Kod: Markera allt
# Du kan fritt kopiera, ändra och distribuera denna config-fil.
# Låt NAME_OF_KEY nyckeln skicka Ctrl-S
"mysendctrls"
NAME_OF_KEY