Bir tuş kombinasyonunu başka bir kombinasyonla yeniden eşleyin, örn. Süper + Ctrl + Üst Karakter + J -> Ctrl + Üst Karakter + Sol


11

Ek bir anahtar katman uygulamak istiyorum, böylece bileklerimi hareket ettirmeden alfasayısal olmayan anahtarlara erişebilirim.

Autokey'i bu amaçla kullanıyorum, ancak deneyim tatmin edici değildi: ara sıra gecikmeler yaşadı ve orijinal tuş vuruşlarının belirli uygulamalara kaymasına izin verdi.

Bu yüzden düşük seviyeli bir çözüme ihtiyacım var.


C
Amias

@Amias, lütfen biraz ayrıntı verebilir misiniz?
lolmaus - Andrey Mikhaylov

normal klavye sürücüsünü çalıştıran ancak tuş vuruşlarını xorg'a aktarmadan önce yorumlayan bir xinput sürücünüz olabilir, bu size tam bir kontrol sağlayacaktır, ancak bir C programcısı için orta derecede karmaşık birkaç gün çalışması olacaktır.
Amias

Yanıtlar:


10

Bir arada ver xbindkeys ve xvkbd bir deneyin. xbindkeys anahtarları dinler ve çeviriyi xvkbd'ye gönderir.

sudo apt-get install xbindkeys xvkbd
xbindkeys --defaults > /home/your-user-name/.xbindkeysrc

Favori düzenleyicinizde .xbindkeysrc dosyasını açın. Diğer her şeyi yorumladım, ancak gerekirse başvurmak iyi.

Kontrol etmek için, Ctrl +; - Ctrl + V

"xvkbd -xsendevent -text "\Cv""
   control + semicolon

Böyle bir şey peşinde olmanı bekliyorum

"xvkbd -xsendevent -text "\C\S\[Left]""
  Super+Control+Shift+J

Dosyayı kaydedin, ardından xbindkeys komutunu çalıştırın

Herhangi bir yapılandırma değişikliğini yeniden yüklemek için xbindkeys işlemini öldürdüm ve sonra yeniden başlattım.

xbindkeys sözdizimi

Ben xbindkeys için bir GUI kullanarak anahtar kombinasyonu çalıştı

sudo apt-get install xbindkeys-config
xbindkeys-config

Bunu çalıştırdıktan sonra, kombinasyonun .xbindkeysrc dosyanızın ikinci satırına girmesi için Get Key tuşuna basın.

xvkbd sözdizimi

Kılavuzdan:

\r - Return
\t - Tab
\b - Backspace
\e - Escape
\d - Delete
\S - Shift (modify the next character; please note that modify with ``\S'' will be ignored in many cases. For example, ``a\Cb\ScD\CE'' will be interpreted as a, Control-b, c, Shift-D, and Control-Shift-E.)
\C - Control (modify the next character)
\A - Alt (modify the next character)
\M - Meta (modify the next character)
\[keysym] - the keysym keysym (e.g., \[Left]), which will be processed in the similar matter with other general characters
\{keysym} - the keysym keysym (e.g., \{Left}), which will be processed in more primitive matter and can also be used for modofier keys such as Control_L, Meta_L, etc.; also, \{+keysym} and \{+keysym} will simulate press and release of the key, respectively [Version 3.3]
\Ddigit - delay digit * 100 ms
\xvalue - move mouse pointer (use "+" or "-" for relative motion)
\yvalue - move mouse pointer (use "+" or "-" for relative motion)
\mdigit - simulate click of the specified mouse button

Nasıl çalıştığını ve kombinasyonun amacınıza uygun olup olmadığını duymayı seviyorum. Bir tuş takımı olarak iyi görünüyor, ancak mutlaka bir makro koşucusu değil.


Hey @MarkHewitt! Ayrıntılı yanıt için çok teşekkür ederim! Ne yazık ki, bu benim için çok iyi çalışmıyor: orijinal tuşa basmaya devam ediyor, bu da her şeyi mahvediyor.
lolmaus - Andrey Mikhaylov

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.