Capslock tuşunuzu oynat / duraklat tuşu yapın
Bu çözüm, capslock anahtarınızın tarama kodunu çekirdek giriş sürücüsündeki farklı bir anahtar koduna, bu durumda oynat / duraklat olarak yeniden eşleştirir.
Avantajları
- Mevcut sistem dosyalarını değiştirmeye gerek yoktur (yalnızca bir yeni dosya oluşturulması gerekir)
- Uygulamalar bunun aslında bir kapak kilidi anahtarı olduğunu bilmeyecek, ancak gerçek bir oynat / duraklat tuşuna basıldığını düşünüyor
- Capslock'u devre dışı bırakmaya gerek yok,
xkb
yapılandırmayı bozma imkanı yok
Dezavantajları
- Her klavye için ayrı ayrı yapılmalıdır (duruma bağlı olarak bir avantaj da olabilir)
Ön şartlar
- evtest (üzerinden kurulabilir
sudo apt-get install evtest
)
prosedür
Bir terminalde, sudo evtest
klavyenizi çalıştırın ve seçin. Bir tuşa bastığınızda çıkış yoksa, Ctrl+ tuşuna basın Cve farklı bir cihaz deneyin. Seçtiğiniz cihaz etkinlik numarasını unutmayın, daha sonra buna ihtiyacımız olacak. Capslock tuşuna basın. Aşağıdaki gibi bazı satırlar görünecektir:
Event: time 1529406021.187148, -------------- SYN_REPORT ------------
Event: time 1529406021.218427, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70039
Event: time 1529406021.218427, type 1 (EV_KEY), code 58 (KEY_CAPSLOCK), value 0
MSC_SCAN
Satırdan önceki satırın değerine ihtiyacımız var KEY_CAPSLOCK
. Yukarıdaki örnekte, bu 70039 olurdu, ancak klavyenizdeki tarama kodu muhtemelen farklıdır.
Şimdi aşağıdaki komutu çalıştırın, ancak X'i evtest
komut için kullandığınız cihaz olay numarası ile değiştirin :
grep "" /sys/class/input/eventX/device/id/*
... Bu irade çıkışı bustype
, product
, vendor
ve version
klavyenin.
Adlı bir dosya oluşturun 65-keyboard-custom.hwdb
içinde /etc/udev/hwdb.d/
aşağıdaki içeriği (kök izinleri gerekli):
evdev:input:b[bustype]v[vendor]p[product]e[version]*
KEYBOARD_KEY_[scancode]=playpause
...nerede
- [bus], [vendor], [product] ve [version] tam olarak 4 karakterden oluşur ve harflerin büyük
- [tarama kodu] küçük harf olmalıdır
evdev:...
çizgi sahip bir önceki boşluk
KEYBOARD_KEY...
çizgi sahip tam olarak bir önceki boşluk
Örneğin:
evdev:input:b0003v046DpC228e0110*
KEYBOARD_KEY_70039=playpause
Son olarak, yeni yapılandırmayı donanım veritabanına derleyin:
sudo systemd-hwdb update
Değişiklikleri hemen uygulamak istiyorsanız udev'e bilgi verin:
sudo udevadm trigger
Değişiklikleri geri almak isterseniz, oluşturduğunuz dosyayı kaldırın ve yeniden başlatın.
Bu konudaki orijinal cevabımda daha ayrıntılı bilgi bulabilirsiniz .
vlc --key-play-pause <key-string>
, ancak VLC'nin capslock olarak kabul ettiği bir dize bulamadım ...