อย่าปล่อยให้เม้าส์เม้าส์ปรากฏขึ้นจากโหมดสแตนด์บาย


12

ฉันชอบที่จะนำจอแสดงผลของฉันไปที่โหมดประหยัดพลังงาน / สแตนด์บายเมื่อฉันออกจากคอมพิวเตอร์สักครู่ มันคงจะโอเคถ้ามันไม่เหมาะกับเมาส์ที่มีขนาดใหญ่เกินไป บางครั้งผู้ขับขี่อ่านในการเคลื่อนไหวบางอย่างที่มองไม่เห็นด้วยตาเปล่า (เคอร์เซอร์นั่นคือ) และจะช่วยประหยัดพลังงาน มันจะรออีก 10 นาทีก่อนกลับไปสแตนด์บาย

วิธีแก้ปัญหาของฉันคือสคริปต์ต่อไปนี้ถูกผูกไว้กับC-S-q:

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

โดยใช้xsetฉันตั้งค่าเป็น 2 วินาทีก่อนที่จะสแตนด์บาย มันไม่ดีเลย บางครั้งมีโชคชะตาเย็น ๆ ที่ฉันต้องการอ่านก่อนพิมพ์รหัสผ่าน ฉันขยับเคอร์เซอร์ไปเรื่อย ๆ แต่มันก็ไม่เป็นระเบียบ (ยังไงก็ตามตัวเลือกของ xlock mousemotionไม่ได้ช่วยอะไร - มันแค่ซ่อนเคอร์เซอร์ แต่จอแสดงผลยังคงสว่างอยู่)

ดังนั้นคำถาม: มีวิธีทำให้หน้าจอแสตนด์บายและอยู่ที่นั่นจนกว่าจะกดแป้นคีย์บอร์ดหรือไม่? ฉันใช้ gentoo และ Xorg เมื่อเร็ว ๆ นี้ แต่ฉันหวังว่าคำตอบไม่จำเป็นต้องเฉพาะเจาะจงเท่านั้น

โดยทั่วไปคำตอบนั้นง่ายพอ ๆ กับวิธีเปิด / ปิดการใช้เมาส์ภายในบรรทัดคำสั่ง ? มันคิดว่าจะทำงานถ้า DPMS ไม่รู้จักความคิด


1
หากเป็นฮาร์ดแวร์ที่เป็นปัญหาฮาร์ดแวร์อาจเป็นวิธีแก้ปัญหา - พลิกเมาส์ไปจนกว่าคุณต้องการใช้ (โอเคนั่นคือเหน็บแนม แต่คุณได้รับจุด)
new123456

ไม่ได้เป็นข้อเสนอแนะที่ไม่ดี แต่ก็ยังจะอ่านบางสิ่งบางอย่างในขณะที่ถูกลงคว่ำ :)
nperson325681

แม้แต่หนูออพติคอลที่มีความอ่อนไหวที่สุดจะไม่บันทึกการเคลื่อนไหวใด ๆ หากไม่มีวัตถุอยู่ภายในเซ็นเซอร์ประมาณหนึ่งนิ้ว ถ้ามันเป็นเม้าส์เชิงกลเพียงแค่ดึงลูกบอลออกมาเพื่อให้ได้เอฟเฟกต์เดียวกัน
Shinrai

1
เอ๊ะ ลองนึกถึงบางสิ่งที่ไม่ต้องใช้การพลิกเมาส์ :)
nperson325681

ไม่ถูกต้องมันเป็นคำถามที่ดี (และนั่นเป็นเหตุผลที่ฉัน upvote มัน) แต่ฉันเห็นด้วยกับ @ new123456 ว่าบางครั้งวิธีแก้ปัญหาเชิงกลง่ายกว่า (และอาจเป็นไปได้ว่าไม่มีใครเข้ามาหาคุณในเรื่องนี้ - ฉันไม่ใช่คน Linux ดังนั้นฉันไม่แน่ใจ)
Shinrai

คำตอบ:


5

มีโพสต์ที่ยอดเยี่ยมโดย @pbm ที่ครอบคลุมสิ่งนี้มากกว่าบนเว็บไซต์ Unix SE

ในระยะสั้นใช้ครั้งแรกxinput listเพื่อรับรหัสอุปกรณ์สำหรับเมาส์ของคุณแล้วใช้

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

และ

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

เพื่อปิดใช้งานและเปิดใช้งานเมาส์

xset dpms force standbyผมได้ทดสอบเพียงแค่เหล่านี้ที่นี่โดยการปิดใช้เมาส์และแล้วโทร การโบกเมาส์ไปรอบ ๆ เป็นเวลาหลายวินาทีไม่ได้ทำอะไรรบกวนหน้าจอ แต่การกดปุ่มเดียวก็ใช้งานได้ดี ใช้คำสั่งที่สองจากนั้นคืนเมาส์กลับสู่ปกติรวมถึงการตั้งค่า "การลดความเร็วคงที่" ที่สคริปต์การเริ่มต้นเริ่มต้นตั้งไว้สำหรับฉัน

คุณควรจะสามารถส่งคำสั่งทั้งสองนี้ไปยัง-startCmdและ-endCmdตัวเลือกเพื่อxlockให้ได้สิ่งที่คุณต้องการ


1
แทนที่จะใช้ตัวเลือก - set-prop พร้อมกับคุณสมบัติ“ เปิดใช้งานอุปกรณ์ / ปิดการใช้งาน” เราสามารถใช้ - เปิดใช้งานและ - ปิดการใช้งานตัวเลือกได้เช่นกัน xinput - เปิดใช้งาน [อุปกรณ์] และ xinput - ปิดใช้งาน [อุปกรณ์] .
thebodzio

4

ฉันทำแบบนี้ใน 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 )

หมายเหตุบางส่วน:

  • ฉันยังบังคับให้ปิดการตรวจสอบ
  • ควรใช้ชื่อเต็มแทน ID

ฉันหวังว่านี่จะช่วยได้


ดูดี แต่ฉันไม่ได้ใช้ dbus หรือ gnome ดังนั้นจะไม่ลองใช้
nperson325681
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.