Как я могу простым способом отключить Caps Lock в X11, если для него нет привязки клавиш?

Вы можете использовать Python, как в этом вопросе

python -c 'print "abcdabcva".count("ab")'

Или если вы работаете с переменными оболочки:

python -c 'print("""'"$STRING"'""".count("""'"$SUB_STRING"'"""))'

В вашем случае:

python -c 'print """0: asus-wlan: Wireless LAN
                   Soft blocked: no
                   Hard blocked: no
          1: asus-bluetooth: Bluetooth
                   Soft blocked: no
                   Hard blocked: no
          2: phy0: Wireless LAN
                   Soft blocked: no
                   Hard blocked: no
          113: hci0: Bluetooth
                   Soft blocked: no
                   Hard blocked: no""".count("""Bluetooth
                   Soft blocked: no
                   Hard blocked: no""")'

2
28.02.2020, 20:25
1 ответ

Я не знаю ни одной утилиты, которая делает это (за исключением, может быть, xdotool key Caps_Lock? ), но тем временем вы можете скомпилировать эту маленькую программу сcc xkb_unlock.c -s -lX11 -o./xkb_unlock(при условии, что вы установили компилятор и пакеты разработки libc и xorg )и используйте его как просто ./xkb_unlock.

xkb_unlock.c

#include <X11/Xlib.h>
#include <X11/XKBlib.h>
#include <err.h>
#include <stdlib.h>

int main(void){
        Display *dpy;
        if(!(dpy = XOpenDisplay(0)))
                errx(1, "cannot open display '%s'", XDisplayName(0));
        XkbLockModifiers(dpy, XkbUseCoreKbd, 0xff, 0);
        XSync(dpy, False);
}
5
28.04.2021, 23:21

Теги

Похожие вопросы