如何配置深度桌面環境(DDE)以使用大寫鎖定更改鍵盤佈局?

如何配置深度桌面環境(DDE)以使用大寫鎖定更改鍵盤佈局?

我的系統是 Manjaro Linux。但我認為這並沒有什麼關係。
在設定面板中,我無法CapsLock作為鍵盤佈局變更器。
請幫忙

答案1

安裝ibus到您的系統中。

在一些啟動腳本中運行它: ibus-daemon -drx

現在小黑客。當你綁定 Caps_Lock 來改變佈局時,大小寫也會改變。為了防止它的行為,需要映射 Caps 選項。一個解決方案: setxkbmap -option 'lv3:caps_switch_latch'

前往 ibus 首選項以變更所需的佈局和捷徑。當您按 Caps 時,它被定義為ISO_Level3_Shift。一切都完成了!

筆記:

編輯/etc/X11/xorg.conf.d/00-keyboard.conf持久 xkb 選項

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

更新:

後來我發現了另外兩種方法,基於獨立的熱鍵監聽器。第一種方法使用 xbindkeys 和 xdotool,它有一個滯後。

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

第二個透過D-Bus代替xdotool,描述一下這裡

#!/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

答案2

打開dconf-editor,導航到深度作業系統的開關佈局鍵(應該是/com/deepin/dde/keybinding/system/switch-layout)並將其設定為['Caps_Lock']

相關內容