კლავიატურის განათების ჩართვა-გამორთვა Linux ოპერაციულ სისტემაში

დიდი ხანია ბლოგზე არაფერი დამიწერია ☺

ცოტა ხნის წინ გამიფუჭდა კლავიატურა დესკტოპზე - რამდენიმე ღილაკი არაადეკვატურად რეაგირებდა. შესაბამისად, გადაწყდა ახალი კლავიატურის შეძენა

ძირითადი მოთხოვნები ახალი კლავიატურის მიმართ ასეთი იყო:

  • კაბელიანი (USB)
  • სრული სიმაღლის ღილაკები, ერთმანეთისგან საკმარისად დაშორებული, რომ შეხედვის გარეშე - შეხებით ვიგრძნო კლავიშები ☺
  • მულტიმედია ღილაკებიდან უნდა ჰქონდეს მინიუმ Mute, VolUP და VolDOWN
  • განათება (ე.წ. backlight) - რატომაც არა, ნოუტბუქის კლავიატურას აქვს და ამასაც თუ ექნება კაია ☺
  • ბიუჯეტი - ~50-60 ლარის ფარგლებში
  • დროის სიმცირის გამო არჩევანი შეიზღუდა ადგილობრივი ონლაინ მაღაზიებით - არც ადგილზე მისვლა-არჩევის დრო მაქვს და არც Ebay-დან რომ ველოდო :-D 

Genius K215
ბაზრის კვლევის შედეგად შერჩეულ იქნა Genius K215

ჩამოვიდა რამდენიმე დღეში, რამდენიმე დღეში მე მოვიცალე საფოსტო განყოფილებიდან რომ ამეღო ☺ მერე ანბოქსინგი, შეერთება, ველოდები, რომ გაანათებს - მარა ნურას უკაცრავად ☺ვაჭერ Scrolllock ღილაკს, რომ აინთოს - რეაგირების გარეშე ☺

 

საკითხის სწრაფი კვლევა აჩვენებს, რომ აქ რაღაცა სხვა ამბავია ☺




 

ვათვალიერებ რა გვაქვს /sys/class/leds -ში:

root@levglonti-workstation:~# ls /sys/class/leds/
enp6s0-0::lan  enp6s0-1::lan  enp6s0-2::lan  input3::capslock  input3::numlock  input3::scrolllock
root@levglonti-workstation:~#

 

input3::capslock, input3::numlock და input3::scrolllock ამ კლავიატურის ნათურები უნდა იყოს. იმის გამო, რომ Scrolllock-ის ღილაკს ახატია რაღაცა კბილანა, რაღაცა მაგაში უნდა იყოს საქმე ☺ მოვიკვლიოთ რა ხდება:

root@levglonti-workstation:~# cd /sys/class/leds/input3\:\:scrolllock/
root@levglonti-workstation:/sys/class/leds/input3::scrolllock# ls
brightness  device  max_brightness  power  subsystem  trigger  uevent
root@levglonti-workstation:/sys/class/leds/input3::scrolllock# cat ./max_brightness
1
root@levglonti-workstation:/sys/class/leds/input3::scrolllock# cat ./brightness
0
root@levglonti-workstation:/sys/class/leds/input3::scrolllock#


brightness-ში წერია 0 - ე.ი. ჩამქრალია ☺ max_brightness-ში წერია 1, სავარაუდოდ არ აქვს განათების რეგულირების შესაძლებლობა. ვცადოთ ანთება:

echo 1 > brightness

ჰოპ - აინთო ☺


ვცადოთ ჩაქრობა:

echo 0 > brightness

ჩაქრა ☺

ნუ, ნათურები მუშაობს. საქმის 2/3 გაკეთებულია - კლავიატურა ნაყიდია, ნათურები მუშაობს :) ბოლო მესამედი გასაკეთებელია - ღილაკზე დაჭერით, ცივილიზებული მოქალაქის კომპიუტერის მსგავსად, ესეც უნდა აინთოს და ჩაქრეს. ვნახოთ რა გამოვა ☺

მონახაზი არის ასეთი - უნდა დაიწეროს bash სკრიპტი, რომელიც ამოიკითხავს  /sys/class/leds/input3::scrolllock/brightness ფაილის მნიშვნელობას და 0-ის შემთხვევაში ჩაწერს 1-ს, 1-ის შემთხვევაში ჩაწერს 0-ს. ეს სკრიპტი გამოძახებული უნდა იქნას სამუშაო გარემოდან ე.წ. ცხელი ღილაკებით

ცდისა და დახვეწის შედეგად სკრიპტმა მიიღო ასეთი სახე:

current_state=$(cat /sys/class/leds/input3\:\:scrolllock/brightness)
if [ "$current_state" -eq "0" ]; then
sudo sh -c 'echo 1 > /sys/class/leds/input3\:\:scrolllock/brightness'
else
sudo sh -c 'echo 0 > /sys/class/leds/input3\:\:scrolllock/brightness'
fi

პირველ ხაზზე current_state ცვლადში იწერება ფაილის ახლანდელი მნიშვნელობა, მეორე ხაზიდან უკვე სტანდარტული if-then-else კონსტრუქციაა. უფლებების მისაღებად გამოიყენება პროგრამა sudo. როგორ უნდა დაკონფიგურდეს sudo, რომ პაროლის მოთხოვნის გარეშე გაუშვას პროგრამები - ეს საკითხი სცდება ამ პოსტის თემას, თან ძალიან ტრივიალურია ☺ ეს სკრიპტი შენახულია ~/bin/ledonoff.sh ფაილში:

levani@levglonti-workstation:~$ ls -l ~/bin/ledonoff.sh
-rwxr-xr-x 1 levani levani 255 აგვ 31 16:04 /home/levani/bin/ledonoff.sh
levani@levglonti-workstation:~$

შემდეგი ნაბიჯი არის მომხმარებლის სამუშაო გარემოდან ამ სკრიპტის გაშვების ორგანიზება. ჩემს კომპიუტერზე  დაყენებულია Fedora 40, KDE Plasma Workspace, შესაბამისად, უნდა გაიმართოს KDE-ს კონფიგურაცია. 

მიზნის მისაღწევად პირველი ნაბიჯი იქნება ~/.local/share/applications (მიმდინარე მომხმარებლისთვის) ან /usr/share/applications კატალოგში (ყველა მომხმარებლისთვის) სკრიპტის გასაშვებად შემდეგი შიგთავსის ledonoff.sh.desktop ფაილის შექმნა (რა თქმა უნდა სხვა სახელითაც შეიძლება)

[Desktop Entry]
Categories=System;
Comment[ka_GE]=
Comment=
Encoding=UTF-8
Exec=xterm -e /bin/bash -c /home/levani/bin/ledonoff.sh
GenericName[ka_GE]=ჩართეთ ან გამორთეთ კლავიატურის LED ნათება
GenericName=Turn on or Off Keyboard LED Light
Icon=/home/levani/bin/ledonoff.png
Keywords=keyboard;led;
MimeType=
Name[ka_GE]=კლავიატურის LED განათების ჩართვა-გამორთვა
Name=Turn ON or Off Keyboards LED Light
Path=
StartupNotify=false
Terminal=false
Type=Application

ამის შემდეგ, KDE-ს უნდა დავავალოთ, რომ ეს სკრიპტი გაუშვას რომელიმე ღილაკზე ან ღილაკების კომბინაციაზე დაჭერის შემდეგ:


როგორც ხედავთ, გამოვიყენე scrolllock ღილაკი. ესაა სულ :-)




Comments

Popular posts from this blog

ოპერაციული სისტემების ჩატვირთვა ქსელიდან pxelinux-ის საშუალებით

MPD-ს ინტეგრაცია Audioscrobbler-თან

კონსპექტები