현재 나는 my 를 다음으로 .Xmodmap
변경하는 파일을 가지고 있습니다 ( 저는 Mac에서 Linux를 실행하고 있습니다).CommandCtrlCtrlSuper
훌륭하게 작동하며 한 번만 계속 실행하면(예를 들어 데스크톱 환경(Cinnamon)을 다시 시작하면 파일이 다시 로드됨 .Xmodmap
) 기본적으로 변경 사항을 되돌려 설정을 재설정합니다. 원하는 설정과 원래 설정 사이를 효과적으로 전환합니다.
.Xmodmap
설정을 한 번만 설정하고 연속 실행 시 다시 변경하지 않는 파일을 어떻게 작성할 수 있습니까 ? 이것은 내 기존 .Xmodmap
파일입니다.
clear control
clear mod4
keycode 105 =
keycode 206 =
keycode 133 = Control_L NoSymbol Control_L
keycode 134 = Control_R NoSymbol Control_R
keycode 37 = Super_L NoSymbol Super_L
add control = Control_L
add control = Control_R
답변1
모드를 적용하기 전에 지도를 원래 상태로 재설정하세요. 완전히 재설정하려면 시간이 오래 걸리기 때문에 제가 생각할 수 있는 최선은 차별화입니다.
이 코드는 존재하지 않는 .Xmodmap{.orig,.reset,.mods}
경우를 사용하여 .orig
현재 상태로 설정하고 .reset
현재 위치에서 해당 상태를 복원하는 것을 계산합니다. 신청하기 전에 .mods
.
#!/bin/sh
# file xmodmap-reset
# rm ~/.Xmodmap.orig
# beforehand to take current setup as baseline for Xmodmap.mods changes
stem=~/.Xmodmap
orig=${stem}.orig
reset=${stem}.reset
mods=${stem}.mods
# implement -pme like -pke
#
xmodmap-pme () {
xmodmap -pm \
| sed '
1d
/ [^ ]/!d
s/^[^ ][^ ]*/clear &\nadd & =/
s/([^ ]*//g
'
}
# save baseline if none atm
test -a $orig || {
xmodmap -pke
xmodmap-pme
} > $orig
# payload, diff for commands to reset to baseline from current
{
xmodmap -pke
xmodmap-pme
} \
| {
diff -u0 $orig - \
| sed -n '
1,/^@@/d
s/^[^+]clear/clear/p
s/^-//p
'
} > $reset
xmodmap $reset
# finally ready to apply the mods
test -a $mods && xmodmap $mods
(편집: 정리)
답변2
시스템 > 기본 설정 > 애플리케이션 실행으로 이동하여 xmodmap ~/.Xmodmap
.
답변3
나는 아직도 당신이 원하는 것이 무엇인지 약간 혼란스럽습니다. 그러나 내 생각에는 이것이다:
이것을 에 넣으면 ~/.Xmodmap
,
clear control
clear mod4
keysym Super_L = Control_L
keysym Control_L = Super_L
add control = Control_L
add control = Control_R
add mod4 = Super_L
add mod4 = Super_R
xmodmap ~/.Xmodmap
그런 다음 실행될 때 마다 왼쪽 버튼 Ctrl과 왼쪽 버튼이 ⌘교체됩니다. 따라서 첫 번째 호출에서는 Ctrl키가 누른 것처럼 작동 ⌘하지만 두 번째 호출에서는 Ctrl다시 키처럼 작동합니다.