私のシステムはManjaro Linuxです。しかし、私はそれが重要ではないと思います。
設定パネルではキーボードレイアウトチェンジャーとして使用できませんCapsLock
。
助けてください。
ベストアンサー1
ibus
システムに取り付けます。
一部の起動スクリプトで実行します。
ibus-daemon -drx
今小さなハッカー。 Caps_Lock をバインドしてレイアウトを変更すると、大文字の使用も変更されます。この動作を回避するには、Capsオプションをマッピングする必要があります。 1つの解決策:
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
修正する:
後で、スタンドアロンのホットキーリスナーに基づく2つの異なる方法を見つけました。最初の方法では、遅延のあるxbindkeysとxdotoolを使用します。
; layout
(xbindkey '(release "c:66") "xdotool key Super_L+space")
2番目は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