Как создать иконку на панели запуска, чтобы отключить клавиатуру + повернуть экран?
У меня 2 в 1 ПК с Ubuntu. Мне было интересно, есть ли способ написать команду, которая включает и выключает внутреннюю клавиатуру, поворачивает экран на 90 градусов влево (или вправо) и помещает его в модуль запуска слева. Есть ли способ сделать это?
Было бы хорошо, если бы я мог просто нажать на нее, чтобы отключить клавиатуру (+ тачпад) и повернуть экран на 90 градусов, и еще раз нажать, чтобы вернуться к правильной ориентации с функционирующей клавиатурой (+ тачпад).
1 ответ
Script + лаунчер для поворота экрана и переключения клавиатуры за один шаг
Сценарий ниже будет
- вращать (переключать) экран (влево или вправо)
отключить (переключить) клавиатуру, которую вы определили как отключенную
Сценарий
#!/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исполняемый файл Это покажет значок как:Теперь вам нужно выяснить две вещи:
а. название вашего экрана (тот, который вы хотите повернуть): запустить в терминале:
xrandrИщите строку с "подключен" в нем. Первая строка - это отображаемое имя, похожее на пример в сценарии. (также может быть
VGA-1или что-то типа того)б.
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 секунд
Повеселись!
