Como configurar o Deepin Desktop Environment (DDE) para alterar o layout do teclado com o caps lock?

2

Meu sistema é Manjaro Linux. Mas eu acho que isso não afeta. No painel de configurações, não consigo fazer CapsLock como alterador de layout de teclado.
Por favor ajude .

    
por kyb 17.04.2017 / 20:49

2 respostas

0

Instale ibus em seu sistema.

Execute-o em algum script de inicialização: ibus-daemon -drx

Agora, pequeno hack. Quando você liga o Caps_Lock para mudar o layout, o caso também será alterado. Para evitar esse comportamento, é necessário ter a opção Caps do mapa. Uma solução única: setxkbmap -option 'lv3:caps_switch_latch'

Vá para as preferências do ibus para alterar os layouts e atalhos necessários. Quando sua imprensa Caps foi definida como ISO_Level3_Shift . Tudo está feito!

NOTA:

Edite /etc/X11/xorg.conf.d/00-keyboard.conf para a opção xkb persistente

Section "InputClass"
         Identifier "system-keyboard"
         MatchIsKeyboard "on"
         Option "XkbOptions"    "lv3:caps_switch_latch"
EndSection

UPD:

Após o tempo eu encontrei duas outras formas, baseadas em ouvinte de atalho independente. A primeira abordagem usa xbindkeys e xdotool, tem um atraso.

; layout
(xbindkey '(release "c:66") "xdotool key Super_L+space")

Segundo via D-Bus em vez xdotool, descreveu aqui

#!/bin/sh

LANG=$(dbus-send \
    --type=method_call \
    --print-reply=literal \
        --dest=com.deepin.daemon.InputDevices \
    /com/deepin/daemon/InputDevice/Keyboard \
    org.freedesktop.DBus.Properties.Get \
    string:"com.deepin.daemon.InputDevice.Keyboard" \
    string:"CurrentLayout" | awk '{print $2}')

if [[ $LANG = 'us;' ]]; then
    dbus-send \
        --type=method_call \
        --dest=com.deepin.daemon.InputDevices \
        /com/deepin/daemon/InputDevice/Keyboard \
        org.freedesktop.DBus.Properties.Set \
        string:"com.deepin.daemon.InputDevice.Keyboard" \
        string:"CurrentLayout" \
        variant:string:"ru;"
else
    dbus-send \
        --type=method_call \
        --dest=com.deepin.daemon.InputDevices \
        /com/deepin/daemon/InputDevice/Keyboard \
        org.freedesktop.DBus.Properties.Set \
        string:"com.deepin.daemon.InputDevice.Keyboard" \
        string:"CurrentLayout" \
        variant:string:"us;"
fi
    
por 15.04.2018 / 10:14
-1

Abra dconf-editor , navegue até a chave de layout do switch para deepin (deve ser /com/deepin/dde/keybinding/system/switch-layout ) e defina como ['Caps_Lock']

    
por 16.06.2017 / 13:07