我有一台装有 Ubuntu 的 2 合 1 电脑。我想知道是否有办法编写一个命令来打开和关闭内置键盘,并将屏幕向左(或向右)旋转 90 度,并将其放在左侧的启动器上。有什么办法吗?
如果我只需点击它即可禁用键盘(+ 触摸板)并将屏幕旋转 90 度,然后再点击一次即可返回到具有功能齐全的键盘(+ 触摸板)的正确方向,那就太好了。
答案1
脚本+启动器旋转屏幕和一步切换键盘
下面的脚本将同时
剧本
#!/usr/bin/env python3
import subprocess
# --- set the name of the screen, and the rotate direction and the id of your keyboard below
screen = "DVI-I-1"
rotate = "left"
disable = ["9", "14"]
# ---
matchline = [
l.split() for l in subprocess.check_output(["xrandr"]).decode("utf-8").splitlines()\
if l.startswith(screen)
][0]
s = matchline[
matchline.index([s for s in matchline if s.count("+") == 2][0])+1
]
newset = ["normal", "1"] if s == rotate else [rotate, "0"]
subprocess.call(["xrandr", "--output", screen, "--rotate", newset[0]])
for item in disable:
subprocess.call(["xinput", "set-prop", item, "Device Enabled", newset[1]])
如何使用
- 将脚本复制到一个空文件中,另存为
rotate.py
将下面的启动器复制到一个空文件中,另存为
rotate.desktop
[Desktop Entry] Exec=python3 /path/to/rotate.py Icon=preferences-desktop-keyboard Name=Rotate & Disable Keyboard Type=Application
在行中,用脚本的真实路径
Exec=
替换。/path/to/rotate.py
rotate.py
使.desktop
文件可执行。它会显示如下图标:现在你必须弄清楚两件事:
a. 您的屏幕名称(您想要旋转的屏幕):在终端中运行:
xrandr
查找包含“connected”的行。第一个字符串是屏幕名称,看起来像脚本中的示例。(也可以是
VGA-1
或类似的东西)b.
id
键盘的,即要禁用的键盘。在终端中运行以下命令:xinput -list
如下所述这个答案。
在脚本的头部输入找到的项目:
# --- set the name of the screen, and the rotate direction and the id of your keyboard below screen = "DVI-I-1" rotate = "left" disable = ["9"] # ---
现在您已完成,可以.desktop
直接从桌面使用该文件,也可以将其移动~/.local/share/applications
并拖到 Dash 的启动器中。
如果您选择后者,请注意旋转屏幕后,图标将在约 7 秒内无响应。
玩得开心!