Caps Lock LED'i HDD LED'i (veya özel) göstergesi olarak kullanın


23

Benim sahip Caps Lockanahtar eşleştirilir Escşimdi ben asla benim klavyede bir LED var. HDD veya LAN etkinliği gibi faydalı bir şey için kullanmak istiyorum.

Özellikle, özel bir kutu ve soğutucu içeren bir bilgisayar kullanıyorum (çekmeceme yerleştirilmişim, böylece HDD'yi dinlemek zorunda kalmıyorum ve fazla yer kaplamıyor) ve LED'ler başka türlü görünmüyor.

Klavye LED'lerini kontrol etmek için bir kütüphane varsa, bunun için bir çözüm yoksa, kendim de kodlama yapabilirim.

Gentoo'dayım ~ amd64.

EDIT: Tamam, HDD LED'i unut gitsin. Bu sadece bir örnekti.

Caps LockDoğum günümde LED'in yanmasını istiyorum . Ya da e-posta aldığımda. Ya da " Caps LockLED, lütfen aydınla!" Dediğimde.

Kesinlikle ekstra bir tel kullanmak istemiyorum. Aslında, bu kablosuz klavyelerde de işe yararsa iyi olurdu.


4
Bu fikri sevdim! Umarım birileri de Windows için cevap verebilir?
Iszi

1
HDD LED gereksinimini tekrar sorunuza göre düzenleyebilirsiniz. Çözümler normal hdd ledleri kadar hızlı yanıp sönmese de klavyemde oldukça iyi çalışıyor. Ve oldukça kullanışlıdır çünkü hdd ledlerimi göremiyorum.
Manwe

Yanıtlar:


18

VT konsolundaki led göstergesini değiştirmek için de kullanabilirsiniz setleds. Yani eğer bir VT'deyseniz, sadece

setleds

ve şu anki liderlik durumunuzu alacaksınız. Numlock etkinleştirmek istemiyorsanız, sadece yanar yazabilirsiniz:

setleds -L +num 

X'te daha zor geliyor ve bu denemenin "en basit" yoludur. X'in genellikle root olarak çalıştırıldığını, bu nedenle X-windows tty'deki izinleri kontrol etmeniz veya root ayrıcalıklarıyla çalıştırmanız gerekir. Genellikle X, tty7'dir. /dev/consolesistem konsolu olmaya çalışmalı ve tüm VT'ler etkilenmelidir.

sudo su -c 'setleds -L +num < /dev/tty7'

Bunun da işe yarayacağını düşünüyorum:

sudo su -c 'setleds -L +num < /dev/console'

Işık seçeneklerinin listesi

 [{+|-}num] [{+|-}caps] [{+|-}scroll]

Eğer setledssisteminizde yoksa, benim tahminim, bu ortaya çıkan paketten alabilirsiniz sys-apps/kbd.

Eğer bir şeyleri kodlamayı seven daha fazla kişi iseniz, işte X'te ledleri değiştirmek için örnek kod için bir link . Bunu test etmedim, ama sadece kodu bakarak tamam görünüyordu.

Ve işte başlangıçta istediğinizi yapmak için bir kabuk betiği. Kapakların veya diğer ledlerin HDD göstergesi olarak gösterilmesi.

#!/bin/bash

# Check interval seconds
CHECKINTERVAL=0.1

# console
CONSOLE=/dev/console

#indicator to use [caps, num, scroll]
INDICATOR=caps

getVmstat() {
  cat /proc/vmstat|egrep "pgpgin|pgpgout"  
}
#turn led on
function led_on()
{
    setleds -L +${INDICATOR} < ${CONSOLE}
}
#turn led off
function led_off()
{
    setleds -L -${INDICATOR} < ${CONSOLE}
}
# initialise variables
NEW=$(getVmstat)
OLD=$(getVmstat)
## 
while [ 1 ] ; do
  sleep $CHECKINTERVAL # slowdown a bit
  # get status 
  NEW=$(getVmstat)
  #compare state
  if [ "$NEW" = "$OLD" ]; then  
    led_off ## no change, led off
  else
    led_on  ## change, led on
  fi
  OLD=$NEW  
done

1
Bu güzel cevap için teşekkür ederim, bu çözüm benim için mükemmel çalışıyor ve ihtiyacım olanı kolayca değiştirebileceğim iyi bir örnek. Bir zaten sys-apps/kbdyüklü, bu yüzden kutunun dışında çalıştı. Verebileceğim bütün parayı hakediyorsun :)
Attila O.

5

Gmail’i kontrol edin - e-postalar alındığında LED’leri yanıp söner ve e-posta sayısını söyler

#!/bin/bash
echo "Checking for new email";
mails="$(wget --secure-protocol=TLSv1 --timeout=3 -t 1 -q -O - \
   https://name1:password1@mail.google.com/mail/feed/atom \
   --no-check-certificate | grep 'fullcount' \
   | sed -e 's/.*<fullcount>//;s/<\/fullcount>.*//' 2>/dev/null)"

echo $mails;

#blink LEDs
if [ "$mails" -gt "0" ];
then
    blink -s -r 5;
fi

#speak announcements

if [ "$mails" -gt "0" ];
then
    espeak "$mails new emails in main account.";
fi

sleep 4;
blink;

exit

1
Nerede bulabilirim blink?
Manwe

1
blinkd - Debian’ın adamları depolardan kaldırmış gibi görünüyor, üzgün - bugs.debian.org/cgi-bin/bugreport.cgi?bug=461433
jet

4

Eski bir kasadaki bir HDD'yi çıkartabilir, telleri uzatabilir ve kabloları klavye kablosuna bağlayabilir, kasada dalabilir ve ana kart üzerindeki HDD led atlama kablosuna doğrudan takabilirsiniz. Klavyeyi açın ve capslock LED'in yanındaki HDD LED'ini sıcak tutkalla yapıştırın.

Yazılım özgür ve çirkin? Kontrol.


Tamamen kötü bir fikir değil, ancak 1. Sadece klavye ledini kullanabilirim, eski bir davadan başka bir lede ihtiyacım olduğunu düşünmüyorum ve 2. Klavyemi bağlayan sadece bir USB kablosu olmasını istiyorum. Veya daha iyisi - kablosuz klavyeyi düşünün.
Attila O.

4
#turn on
xset led named "Scroll Lock"

#turn off
xset -led named "Scroll Lock

ayrıca Caps Lockvb ile çalışır .


1
Bu sadece benim için Kaydırma Kilidi için çalışıyor.
lilydjwg

3

Bu bir kütüphane ile çözülmesi gereken bir yazılım sorunu değildir.

Klavye LED'leri yazılım tarafından kontrol edilir - özellikle I / O Kontrol isteklerine yanıt olarak, ışıkları açıp kapatan klavye mikroişlemcisine gönderilecek komutları üreten klavye aygıtı sürücüsü tarafından.

Ön panelinizdeki sabit disk etkinlik ışıkları donanım tarafından kontrol edilir. Ana karta bağlanırlar ve - uzun bir öyküyü kesmek için - PCI-ATA köprü yongasının bir çıkışına kadar kablolu. (ICH10 için, örneğin, bu çıktı SATALED#çıktıdır.) Donanım, SATA / PATA veriyoluna komutlar gönderilirken donanım bu çıktıyı açar ve kapatır. SCSI ile hayatı hatırlayanlar, SCSI sabit disk etkinliğinin ATA köprü donanımı tarafından çalıştırıldığından "sabit disk" LED'ini etkilemediğini hatırlayacaktır.

Bu gerçekten pratik değildir - ve çok fazla miktarda yazılım ve donanım gerektirir - SATALED#sinyalin çıkması için yazılım tarafından alınan donanım kesintilerine neden olur, bu da klavye aygıtı sürücüsünün komutlarını tetikler. Oldukça mafsallı bir tasarım. Ancak, disk aygıtı sürücüsü tarafından oluşturulan tüm disk G / Ç komutlarının klavye aygıtı sürücüsüyle bir yandan yolculuk yapmasına neden olan sohbet yaklaşımı, tamamen yeni bir donanım aygıtı gerektirmese de, neredeyse kötü Ön panel LED'i yanıyor! " kesmeler. Bağlanması için iki ayrı donanım alt sistemi (disk ve klavye) ve adil miktarda sistem programlaması gerektirir. Ayrıca, tüm disk G / Ç’leri klavyenin hızıyla etkili bir şekilde sınırlar.

Bu, çok basit bir şekilde, daha uzun bir tel parçasıyla çözülmesi gereken bir donanım sorunudur.

Ön paneliniz çekmeceye veya masanın altına gizlendiyse ve ön panel LED'lerini görmek istiyorsanız, kendinize ait ayrılabilir bir ön panel yapın ve daha uzun kablolarla ana panele bağlayın. EBay'e hızlı bir şekilde bakıldığında, size en az 1 metreye kadar değişen uzunluklarda bu tür ön panel kablolarını (LED'ler ve anahtarlar takılı olarak) satacağınız bilgisayar bileşeni satıcıları olduğunu gösterir.


2
HDD LED sadece bir örnekti. Ana fikir, klavyemde kontrol etmek istemediğim kullanılmayan LED olduğum. Lütfen düzenlemelerime bakın.
Attila O.

3

AutoHotkey'i kullanarak bunu yapabilirsiniz . Kullanmanız gereken kodlar hakkında bilgi edinmek için bu konuyu kontrol edin .

Bu ipliği ve AutoHotkey'deki dokümantasyonu okuduktan sonra bunları yapabilirsiniz.

Ayrıca USB ve Kablosuz klavyelerle de çalışır.

Gentoo'da Wine ile birlikte kullanabilirsiniz.


2
AutoHotkey’i Wine ile çalıştırabildim, nedense LED'lerimi yanmadı (hata mesajları kaydedilmemiş olsa da). Ayrıca işe yatsa bile, her iki milisaniyede bir şarapla boru çekmek veya sürekli olarak çalışan bir şarap sürecine sahip olmak, özellikle kullanılan diğer çözüme kıyasla çok uygun değildir setleds. Yine de, bu windoze kullanıcıları için bir çözüm olabilir, bu yüzden gönderdiğiniz için teşekkürler.
Attila O.

2

Linux 4.7'den beri:

# echo ide-disk > /sys/class/leds/input17::capslock/trigger

CONFIG_LEDS_TRIGGER_DISK=yÇekirdek yapılandırmasında gerektirir .


Bu, bugüne kadarki en zarif cevap ve umarım en tepeye çıkar!
mpy

Bu gerçekten iyi çalışıyor, ancak olumsuz tarafı, klavyeyi çıkarırken ve tekrar takarken bunun çalışmayı durdurabilmesi.
SpecialBomb


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.