Caps Lock ve Num Lock tuşları Durum Bildirim Betiği


(serkan çam) #1

Merhaba,
Kullandığım dizüstü bilgisayarda “caps lock” ve “num lock” tuşlarının durumunu gösteren ışıklı göstergeler olmadığı için çeşitli kaynaklar yardımı ile aşağıdaki kabuk betiğini yazdım. Fakat bir kaç sorum olacak:
1- Betik açılışta çalışıyor fakat; bir sonsuz döngü içinde sürekli tuş değişikliklerini kontrol ettiği için; işlemci kullanımı %2 ve RAM tüketimi ortalama 2.9 MB. Burada Daha etkili bir yöntem kullanılabilir mi? Örneğin bu tuşlara basıldığını sistemden bir olay olarak alabilir miyim?
2- Aslında uygulamayı bir panel eklentisi olarak yapmaktı niyetim, fakat kaynak bulamadım bu konuda önerebileceğiniz bir kaynak olabilir mi?

durumCL=$(xset -q | grep Caps | awk '{print $4}')
durumCLEski=$durumCL
durumNL=$(xset -q | grep Caps | awk '{print $8}')
durumNLEski=$durumNL

while true
do

durumCL=$(xset -q | grep Caps | awk '{print $4}')
durumNL=$(xset -q | grep Caps | awk '{print $8}')
if [ "$durumCLEski" != "$durumCL" ]
then
if [ "$durumCL" = "on" ]
then
notify-send -i  "/opt/tuslar/buyuk.png"  "  Caps Lock AÇIK" -t 1500
else
notify-send -i  "/opt/tuslar/kucuk.png"  "   Caps Lock KAPALI" -t 1500
fi
fi

if [ "$durumNLEski" != "$durumNL" ]
then
if [ "$durumNL" = "on" ]
then
notify-send -i  "/opt/tuslar/sayilar.png"  " Num Lock AÇIK" -t 1500
else
notify-send -i  "/opt/tuslar/oklar.png"  "  Num Lock KAPALI" -t 1500
fi
fi

durumCLEski=$durumCL
durumNLEski=$durumNL
done

(𝗄𝖺𝖺𝗇) #2
xinput list

Komutu ile klavyenin id sini öğrenin. Örnek bende 9;

xinput test 9

komutunu çalıştırıp herhangi bir yerde bir tuşa basın.


(Ali Orhun Akkirman) #3

Aşağıdaki eklenti ile hem Caps Lock değiştirdiğimde bildirim olarak görebiliyorum hem de caps lock açık iken sistem çekmecesinde ikon gözükmekte: (sayfada opensuse yazmasına bakmayınız debian paketi ve Parduss ile uyumlu)

https://build.opensuse.org/package/binaries/home:stevenpusser:indicator-keylock/indicator-keylock/Debian_9.0


(serkan çam) #4

xinput ta işimi görmez sanırım ya da kodun içinde nasıl kullanacağımı çözemedim. xinput karakter basan tuşlar dışında bir tepki vermiyor gibi.
Esas sorun, biraz daha test edince; yazdığım betik çalıştırıldığında kendi %2 cpu kullanımı yapsa da cpu kullanımı genelde %50-56 arası oluyor. Bu sıkıntıyı da, döngü içine “sleep 1” komutu ekleyerek işlemci genel kullanımı %2-6 arasına indirecek şekilde çözdüm aslında.
Bir diğer konuda hazır bir eklenti yerine kendim birşeyler yapmak. Mesela kendim bir eklenti nasıl yaparım? Ben kaynak bulamadım.
Cevap için teşekkür ederim.


(serkan çam) #5

Aslında aradığım böyle bir uygulama, bulamadığım için böyle bir yola başvurdum. Eklenti kaynak kodunu bulursam inceleyebilirim.
Cevap için teşekkür ederim.


(Kemal Oktay Aktoğan) #6

Selamün Aleyküm
Kaynak kodunu buradan indirebilirsiniz.
https://download.opensuse.org/repositories/home:/stevenpusser:/indicator-keylock/Debian_9.0/indicator-keylock_3.0.2.orig.tar.xz


(PardusTopluluk09 - Murat YANAR) #7

Merhaba,
Siteden .deb uzantılı kurulum paketini indirdiğinizde eğer gerekli kütüphaneler yok ise hata verebiliyor ve kendiliğinden de kuramıyor.
kurulum sırasında eğer bağımlı olduğu kütüphaneleri indiremediğinden hata verirse, istediği lib dosyalarını ayrıca kurmak gerekebiliyor. (ben şahsen böyle çözdüm)
iyi çalışmalar.


(Haci Postaağasi) #8

https://launchpad.net/ubuntu/+source/indicator-keylock/3.1.0/+build/9286560

işinizi görür sanırım


(system) kapatıldı #9

Bu konu son cevaptan 30 gün sonra otomatik olarak kapatıldı. Yeni cevap girilmesine izin verilmiyor.