Sử dụng Caps Lock LED làm đèn LED HDD (hoặc tùy chỉnh)


23

Tôi có Caps Lockchìa khóa được ánh xạ lại Esc, vì vậy bây giờ tôi có một đèn LED trên bàn phím không bao giờ bật. Tôi muốn sử dụng nó cho một cái gì đó hữu ích, như hoạt động của HDD hoặc LAN.

Đặc biệt là tôi đang sử dụng máy tính có hộp tùy chỉnh & tản nhiệt (được tích hợp trong ngăn kéo của tôi để tôi không phải nghe ổ cứng và nó không chiếm nhiều dung lượng) và đèn LED không thể nhìn thấy được.

Nếu có một thư viện để điều khiển đèn LED bàn phím, tôi có thể tự mình thực hiện một số mã hóa, nếu chưa có giải pháp cho việc này.

Tôi đang ở trên Gentoo ~ amd64.

EDIT: Ok, quên đi đèn LED HDD. Đó chỉ là một ví dụ.

Tôi muốn Caps Lockđèn LED sáng lên khi nó là sinh nhật của tôi. Hoặc khi tôi có email. Hoặc khi tôi nói " Caps LockLED, xin vui lòng sáng lên!".

Tôi hoàn toàn không muốn sử dụng thêm một dây. Trên thực tế, thật tuyệt nếu điều này cũng hoạt động trên bàn phím không dây.


4
Tôi thích ý tưởng này! Hy vọng ai đó cũng có thể trả lời cho Windows?
Iszi

1
Bạn có thể chỉnh sửa yêu cầu ổ cứng LED trở lại câu hỏi của bạn. Các giải pháp có thể không nhấp nháy nhanh như đèn led thông thường, nhưng nó hoạt động khá độc đáo trên bàn phím của tôi. Và nó khá hữu ích, vì tôi không thể thấy đèn led của mình.
Manwe

Câu trả lời:


18

Vâng để thay đổi chỉ báo led trên bảng điều khiển VT bạn có thể sử dụng setleds. Vì vậy, nếu bạn đang ở trong VT, bạn chỉ cần gõ

setleds

và bạn sẽ có được trạng thái dẫn hiện tại của bạn. Nếu bạn không muốn bật numlock, chỉ cần bật sáng bạn có thể gõ:

setleds -L +num 

Nó trở nên phức tạp hơn trong X và đây là cách "đơn giản nhất" để thử nó. Xin lưu ý rằng X thường được chạy dưới dạng root, vì vậy bạn sẽ phải kiểm tra quyền trên X-windows tty hoặc chạy nó với quyền root. Thông thường X là tty7. /dev/consolenên làm việc là bảng điều khiển hệ thống và do đó tất cả các VT sẽ bị ảnh hưởng.

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

Tôi nghĩ rằng điều này cũng sẽ làm việc:

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

đây là danh sách các lựa chọn ánh sáng

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

Nếu bạn không có setledstrong hệ thống của mình, tôi đoán là bạn có thể lấy nó từ gói xuất hiện này sys-apps/kbd.

Nếu bạn có nhiều người thích đến mã thứ đây là một liên kết đến en dụ mã để led thay đổi trong X . Tôi đã không kiểm tra điều này, nhưng chỉ bằng cách xem mã trông ổn.

Và đây là một kịch bản shell để làm những gì bạn muốn ban đầu. Để có mũ hoặc đèn led khác như chỉ số ổ cứng.

#!/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
Cảm ơn bạn vì câu trả lời tốt đẹp này, giải pháp này hoạt động hoàn hảo với tôi, và là một ví dụ tốt mà tôi có thể dễ dàng thay đổi thành bất cứ điều gì tôi cần. A đã được sys-apps/kbdcài đặt, vì vậy nó hoạt động ra khỏi hộp. Bạn xứng đáng với tất cả tiền thưởng tôi có thể cung cấp :)
Attila O.

5

kiểm tra Gmail - nhấp nháy đèn LED khi nhận được e-mail và cho biết số lượng email

#!/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
Bạn có thể tìm thấy ở blinkđâu?
Manwe

1
nháy mắt - có vẻ như các chàng trai Debian đã gỡ bỏ nó khỏi repos, buồn - bug.debian.org/cgi-bin/ormsreport.cgi?bug=461433
máy bay phản lực

4

Bạn có thể tháo một ổ cứng led ra khỏi vỏ cũ, kéo dài dây và quấn dây vào dây bàn phím, nhánh ở vỏ và cắm trực tiếp vào nút nhảy led trên bo mạch chính. Mở bàn phím và dán keo nóng LED LED bên cạnh đèn LED capslock.

Phần mềm miễn phí và xấu xí? Kiểm tra.


Không phải là một ý tưởng tồi hoàn toàn, nhưng 1. Tôi chỉ có thể sử dụng đèn bàn phím, tôi không nghĩ rằng tôi cần một đèn led khác từ một chiếc vỏ cũ và 2. Tôi muốn chỉ có một cáp USB kết nối với bàn phím của mình. Hoặc tốt hơn nữa - nghĩ bàn phím không dây.
Attila O.

4
#turn on
xset led named "Scroll Lock"

#turn off
xset -led named "Scroll Lock

cũng làm việc với Caps Lock, vv


1
Điều này chỉ hoạt động cho Scroll Lock cho tôi.
lilydjwg

3

Đây không phải là một vấn đề phần mềm để giải quyết với một thư viện.

Đèn LED bàn phím được điều khiển bằng phần mềm - đặc biệt là trình điều khiển thiết bị bàn phím tạo lệnh được gửi đến bộ vi xử lý bàn phím bật và tắt đèn LED, đáp ứng yêu cầu Điều khiển I / O.

Các đèn hoạt động đĩa cứng trên bảng điều khiển phía trước của bạn được điều khiển bởi phần cứng. Chúng được kết nối với bo mạch chính và - để cắt ngắn một câu chuyện dài - được nối với đầu ra của chip cầu nối PCI-to-ATA. (Ví dụ, đối với ICH10, đầu ra này là SATALED#đầu ra.) Phần cứng bật và tắt đầu ra này khi các lệnh được gửi qua bus SATA / PATA. Những người nhớ cuộc sống với SCSI sẽ nhớ rằng hoạt động của đĩa cứng SCSI không ảnh hưởng đến đèn LED "đĩa cứng", do nó được điều khiển bởi phần cứng cầu ATA.

Nó không thực tế - và sẽ cần một lượng đáng kể phần mềm và phần cứng bổ sung - để đầu ra trên SATALED#tín hiệu gây ra các ngắt phần cứng được phần mềm nhận, sau đó kích hoạt các lệnh của trình điều khiển thiết bị bàn phím. Đó là một thiết kế khá khó hiểu. Nhưng cách tiếp cận ngược lại, khi có tất cả các lệnh I / O của đĩa được tạo bởi trình điều khiển thiết bị đĩa khiến cho một chuyến đi phụ thông qua trình điều khiển thiết bị bàn phím gần như là xấu, mặc dù nó không yêu cầu một loại thiết bị phần cứng hoàn toàn mới nhận được " Đèn LED phía trước được bật! " ngắt quãng. Nó đòi hỏi hai hệ thống con phần cứng riêng biệt - đĩa và bàn phím - để được liên kết và một số lượng lớn chương trình hệ thống. Nó cũng có hiệu quả giới hạn tất cả các I / O đĩa với tốc độ của bàn phím.

Đây là một vấn đề phần cứng để giải quyết, rất đơn giản, với một đoạn dây dài hơn.

Nếu bảng mặt trước của bạn được giấu trong ngăn kéo hoặc dưới bàn và bạn muốn xem đèn LED của bảng mặt trước, thì chỉ cần tạo một bảng mặt trước có thể tháo rời của riêng bạn và kết nối nó với bảng chính bằng dây dài hơn. Kiểm tra nhanh trên eBay cho thấy có các nhà cung cấp linh kiện máy tính sẽ bán cho bạn các loại cáp mặt trước như vậy (có đèn LED và công tắc được gắn) có độ dài khác nhau, tối thiểu 1 mét.


2
Đèn LED HDD chỉ là một ví dụ. Ý tưởng chính là tôi có đèn LED không sử dụng trên bàn phím mà tôi muốn điều khiển. Hãy nhìn vào chỉnh sửa của tôi.
Attila O.

3

Bạn có thể làm điều đó bằng cách sử dụng AutoHotkey . Kiểm tra chủ đề này nếu bạn muốn tìm hiểu về các mã bạn cần sử dụng.

Sau khi đọc chủ đề đó và tài liệu về AutoHotkey, bạn có thể thực hiện những việc đó.

Ngoài ra, nó cũng hoạt động với bàn phím USB và không dây.

Bạn có thể sử dụng nó với Wine trên Gentoo.


2
Mặc dù tôi có thể chạy AutoHotkey với Wine, vì một số lý do, nó không sáng đèn LED của tôi (mặc dù không có thông báo lỗi nào được ghi lại). Ngoài ra, ngay cả khi nó hoạt động, việc phải truyền qua rượu cứ sau vài mili giây hoặc có một quy trình sản xuất rượu luôn luôn không tối ưu, đặc biệt là so với các giải pháp khác sử dụng setleds. Tuy nhiên, đây có thể là một giải pháp cho người dùng Windoze, vì vậy cảm ơn bạn đã đăng bài.
Attila O.

2

Kể từ Linux 4.7:

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

Nó đòi hỏi CONFIG_LEDS_TRIGGER_DISK=ytrong cấu hình kernel.


Đây là câu trả lời tao nhã nhất và tôi hy vọng nó sẽ vươn lên dẫn đầu!
mpy

Điều này hoạt động thực sự tốt, nhưng nhược điểm là điều này có thể ngừng hoạt động khi rút và cắm bàn phím trở lại.
SpecialBomb


0

Tôi đã từng viết một chương trình C nhỏ để điều khiển CapsLock LED trên DELL XPS15 của tôi. Nó chỉ được thử nghiệm trên một Hệ thống, do đó tôi không thể đảm bảo rằng nó sẽ hoạt động cho bạn. Có lẽ bạn sẽ phải điều chỉnh nó, nhưng điều đó sẽ khá dễ dàng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.