내 시스템은 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
deepin의 스위치 레이아웃 키(예: 그래야 함 /com/deepin/dde/keybinding/system/switch-layout
)로 이동하여 다음으로 설정합니다.['Caps_Lock']