По какой-то причине мой ноутбук застрял в Caps Lock. У меня есть ключ Caps Lock, отображаемый с помощью xmodmap
на hyper_l
, поэтому у меня нет клавиши caps_lock
, чтобы отключить его. Есть ли способ отключить его командой? Было бы неплохо, если бы я мог сбросить состояние блокировки без перезагрузки моего компьютера, особенно для будущих ссылок. Это произошло раньше, но я хотел бы знать, как это сделать на этот раз.
Если вы не можете получить доступ к CAPS, потому что вы переназначили его в .bashrc, как и я, а затем просто переключитесь на виртуальный терминал (alt + ctl + fN), а затем переключитесь обратно на меня.
Если вы не можете получить доступ к CAPS, потому что вы переназначили его в .bashrc, как и я, а затем просто переключитесь на виртуальный терминал (alt + ctl + fN), а затем переключитесь обратно на меня.
Инструменты X-автоматизации могут быть использованы для отправки необходимых ключевых событий.
Примечание. Это решение требует, чтобы вы наклеили правильный пароль, если ваш CAPS в настоящий момент активен: открыть офисный писатель, написать пароль там, измените регистр букв, скопируйте его, а затем вставьте его в диалог с паролем.
Если этот предыдущий шаг невозможен или не работает, перейдите с помощью скрипта ответа / сценария Gilles . Нет необходимости устанавливать какой-либо дополнительный инструмент, он использует только
blockquote>python
& amp;libX11
shared lib, которые предварительно установлены.Использование
xdotool
- Установите его
sudo apt-get install xdotool
- Отправить a Событие CAPS down / up
xdotool key Caps_Lock
Другим инструментом является
xte
- Установите его
sudo apt-get install xautomation
- Отправьте CAPS
Что касается версии Gilles python, не работающей в более новой версии ubuntus, установка правильного возврата для открытого дисплея, похоже, делает трюк:
#! /usr/bin/env python
from ctypes import *
import subprocess
class Display(Structure):
""" opaque struct """
X11 = cdll.LoadLibrary("libX11.so.6")
X11.XOpenDisplay.restype = POINTER(Display)
display = X11.XOpenDisplay(c_int(0))
X11.XkbLockModifiers(display, c_uint(0x0100), c_uint(2), c_uint(0))
X11.XCloseDisplay(display)
(Код адаптирован из https: // stackoverflow .com / вопросы / 29638210 / как-кан-я потребительной питон-Xlib к генерации-а-одинарное нажатие клавиши )