如何创建键盘快捷键来关闭和打开屏幕?

如何创建键盘快捷键来关闭和打开屏幕?

我将笔记本电脑从联想 U310 换成了戴尔 Inspiron 7537。联想有一个特殊的屏幕关闭和打开键,但戴尔没有。我想知道是否有使用相同键盘快捷键(如 CTRL+A 或类似键)关闭和打开屏幕的命令。

答案1

有两种情况会使您的情况与假定的重复情况略有不同:

  1. 某些进程似乎会唤醒您的屏幕,如果您的屏幕在命令后被唤醒xset dpms force off,那一定是这样。例如,我的屏幕没有被唤醒。
  2. 如果你不想唤醒屏幕,只需任何按下按键,xset dpms force off命令没有执行您想要的操作。

解决方法是使用下面的脚本。它的作用是:

  • 它会查找你的屏幕名称和当前亮度
  • 如果亮度不等于零,则屏幕变黑,否则将亮度设置为正常

换句话说:它在黑屏和正常亮度之间切换。

如何使用

  • 将脚本复制到一个空文件中,另存为toggle_screen.py

  • 通过命令运行:

      python3 /path/to/toggle_screen.py
    
  • 确保您可以在黑屏的情况下重复该命令,否则您将必须注销才能切换回来......

  • 如果一切顺利,请将其添加到键盘快捷键中:选择:系统设置 > “键盘” > “快捷键” > “自定义快捷键”。单击“+”并添加命令。

剧本

#!/usr/bin/env python3

import subprocess

cmd1 = "xrandr --verbose"
get = subprocess.check_output(["/bin/bash", "-c", cmd1]).decode("utf-8").split()
brightness = get[get.index("Brightness:")+1]
screens = [get[i-1] for i in range(len(get)) if get[i] == "connected"]

if brightness == "1.0":
    for scr in screens:
        subprocess.Popen(["/bin/bash", "-c", "xrandr --output "+scr+" --brightness 0"])
else:
    for scr in screens:
        subprocess.Popen(["/bin/bash", "-c", "xrandr --output "+scr+" --brightness 1"])

相关内容