Đừng để chuột đánh thức màn hình từ chế độ chờ


12

Tôi thích đặt màn hình của mình ở chế độ powersave / chế độ chờ khi tôi rời khỏi máy tính một lúc. Sẽ không sao nếu nó không dành cho chuột quá khổ. Đôi khi người lái xe đọc trong một số chuyển động không thể nhìn thấy bằng mắt thường (con trỏ, nghĩa là) và nó phá vỡ khả năng tiết kiệm điện. Nó sẽ đợi thêm 10 phút nữa trước khi quay trở lại chế độ chờ.

Cách giải quyết của tôi là tập lệnh sau ràng buộc với C-S-q:

xlock -startCmd 'xset dpms 2 2 2' -endCmd 'xset dpms 600 1200 1300' -mode blank -echokeys -timeelapsed +usefirst

Bằng cách sử dụng, xsettôi đặt các giá trị thành 2 giây mỗi lần trước khi chuyển sang chế độ chờ. Dù sao nó cũng không đẹp. Đôi khi có những vận may tuyệt vời mà tôi muốn đọc trước khi nhập mật khẩu. Tôi có thể giữ con trỏ di chuyển nhưng nó lộn xộn. (Nhân tiện, tùy chọn của xlock mousemotionkhông giúp ích gì - nó chỉ ẩn con trỏ nhưng màn hình vẫn bật lên.)

Vì vậy, câu hỏi: có cách nào để làm cho màn hình ở chế độ chờ và ở đó cho đến khi nhấn phím bàn phím? Tôi đang chạy gentoo và Xorg gần đây, nhưng tôi hy vọng câu trả lời không nhất thiết phải là distro.

Về cơ bản câu trả lời có thể đơn giản như làm thế nào để bật / tắt chuột trong dòng lệnh ? Nó nghĩ rằng sẽ thực hiện công việc nếu DPMS không biết ý tưởng.


1
Nếu đó là vấn đề về phần cứng, thì phần cứng có thể là giải pháp - lật chuột cho đến khi bạn muốn sử dụng nó. (Được rồi, đó mỉa mai, nhưng bạn có được điểm).
new123456

Không phải là một gợi ý tồi nhưng nó vẫn sẽ đọc được thứ gì đó trong khi bị lộn ngược :)
unperson325680

Ngay cả những con chuột quang nhạy nhất cũng sẽ không đăng ký bất kỳ chuyển động nào nếu không có vật thể nào đó trong khoảng một inch hoặc hơn cảm biến. Nếu đó là chuột cơ, chỉ cần bật quả bóng ra để đạt được hiệu quả tương tự.
Shinrai

1
Hở. Chúng ta hãy nghĩ về một cái gì đó không yêu cầu lật chuột. :)
unperson325680

Nah, bạn nói đúng, đó là một câu hỏi hay (và đó là lý do tại sao tôi nâng cao nó). Nhưng tôi đồng ý với @ new123456 rằng đôi khi một giải pháp cơ học dễ dàng hơn (và có thể không ai thông qua cho bạn về điều này - Tôi không phải là một người Linux nên tôi chắc chắn không thể).
Shinrai

Câu trả lời:


5

Có một bài viết tuyệt vời của @pbm bao gồm điều này, trên trang web Unix SE.

Nói tóm lại, trước tiên hãy sử dụng xinput listđể lấy ID thiết bị cho chuột của bạn, sau đó sử dụng

xinput --set-prop [ID#] "Device Enabled" "0"

xinput --set-prop [ID#] "Device Enabled" "1"

để vô hiệu hóa và kích hoạt chuột.

Tôi vừa kiểm tra những thứ này ở đây bằng cách vô hiệu hóa chuột và sau đó gọi xset dpms force standby. Vẫy chuột trong vài giây không làm gì để làm phiền màn hình, nhưng nhấn một phím duy nhất sẽ hoạt động tốt. Sau đó, sử dụng lệnh thứ hai sẽ đưa chuột trở lại bình thường, bao gồm cài đặt "giảm tốc không đổi" mà các tập lệnh khởi động mặc định của tôi đặt cho tôi.

Bạn sẽ có thể chuyển hai lệnh này cho -startCmd-endCmdcác tùy chọn xlockđể có được những gì bạn đang theo đuổi.


1
Thay vì sử dụng tùy chọn --set-prop cùng với thuộc tính Có thể bật / Tắt của Thiết bị, người ta cũng có thể sử dụng các tùy chọn --enable và --dable, ví dụ: xinput --enable [device] và xinput --disable [device] .
thebodzio

4

Tôi làm theo cách này trong Ubuntu:

#!/bin/bash

# allow only one instance
r=$(pidof -x -o $$ ssmonoff.sh)
set -- $r
if [ "${#@}" -ge 1 ]; then
    echo "Script already running. Exit..."
    exit
fi

dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" | ( while read line; do
    if echo $line | grep "boolean true" &> /dev/null; then
            xinput --set-prop "Dell Premium USB Optical Mouse" "Device Enabled" "0"
            xset dpms force off
    else
            xinput --set-prop "Dell Premium USB Optical Mouse" "Device Enabled" "1"
    fi
done )

Một số lưu ý:

  • Tôi cũng buộc phải tắt màn hình.
  • Tốt hơn nên sử dụng tên đầy đủ thay vì ID.

Tôi hy vọng rằng điều này sẽ giúp.


Có vẻ tốt nhưng tôi không sử dụng dbus hoặc gnome vì vậy sẽ không thử.
unperson325680
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.