如何在启动器上创建一个图标来禁用键盘+旋转屏幕?

如何在启动器上创建一个图标来禁用键盘+旋转屏幕?

我有一台装有 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]])

如何使用

  1. 将脚本复制到一个空文件中,另存为rotate.py
  2. 将下面的启动器复制到一个空文件中,另存为rotate.desktop

    [Desktop Entry]
    Exec=python3 /path/to/rotate.py
    Icon=preferences-desktop-keyboard
    Name=Rotate & Disable Keyboard
    Type=Application
    

    在行中,用脚本的真实路径Exec=替换。/path/to/rotate.pyrotate.py使.desktop文件可执行。它会显示如下图标:

    在此处输入图片描述

  3. 现在你必须弄清楚两件事:

    a. 您的屏幕名称(您想要旋转的屏幕):在终端中运行:

    xrandr
    

    查找包含“connected”的行。第一个字符串是屏幕名称,看起来像脚本中的示例。(也可以是VGA-1或类似的东西)

    b.id键盘的,即要禁用的键盘。在终端中运行以下命令:

    xinput -list
    

    如下所述这个答案

  4. 在脚本的头部输入找到的项目:

    # --- 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 秒内无响应。

玩得开心!

相关内容