오른쪽 Alt 키를 다시 사용하여 오른쪽 Ctrl 키로 동작


8

나는 다시 매핑하기 위해 노력하고있어 right alt내처럼 행동하는 right ctrl그래서 언론에 내 오른쪽 엄지 손가락을 사용할 수있는 ctrl버튼을 누릅니다. 우분투 12.04입니다.

다음 내용으로 홈 폴더에 .Xmodmap 파일을 만들었습니다.

clear control
clear mod1
!keycode 64 = Alt_L Meta_L
keycode 108 = Alt_R Meta_R
add control = Control_L Control_R Alt_R
add mod1 = Alt_L Meta_L

추측 할 수 있듯이 왼쪽 alt 키에는 키 코드 64가 있고 left alt키에는 키 코드 108이 있습니다.

이것은 실제로 오른쪽 Alt 키가 마치 마치 ctrl키를 누르는 것처럼 동작한다는 의미에서 작동 합니다.

그러나 왼쪽 alt키는 이제 더 이상 아무것도하지 않으므로 alt키가 남아 있지 않습니다 . xmodmap다음과 같은 결과 가 나옵니다 .

xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x69),  Alt_R (0x6c)
mod1        Alt_L (0x40),  Alt_L (0xcc),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

이상한 것은에 대한 Alt_R 매핑을 제거 control하면 alt키가 작동 한다는 것입니다.

(즉, 두 번째 줄을 마지막 줄로 변경하십시오.)

add control = Control_L Control_R

이제 내 권리조차도 alt나를 혼란스럽게 하는 열쇠 처럼 행동 합니다. 제어 라인에서 Alt_R 맵핑을 제거한 후 출력 xmodmap은 다음 을 제공합니다.

xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Alt_L (0xcc),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

너희들이 도울 수 있기를 바랍니다.

추신. 웹 사이트를 소스로 사용 했습니다 .

답변:


6

당신은 간단하게 사용할 수 있어야합니다 키보드 레이아웃 >> 옵션 >> Ctrl 키 위치 >> 오른쪽 Ctrl 키와 같은 오른쪽 Alt 키를 ,하지만이 작동하지 않습니다. 이것은 이미 데비안에 대해 Bug # 663218 로 제출되었습니다.

1) ~ / .Xmodmap을 삭제하여 새로 시작하십시오.

2) Control 및 Mod1 을 지우지 않아도됩니다 . 이렇게하면 원하는 것만 쉽게 변경할 수 있습니다. ~ / .Xmodmap은 다음과 같습니다.

!Swap right control and right alt
remove Control = Control_R
remove Mod1 = Alt_R
keycode 105 = Alt_R
keycode 108 = Control_R
add Control = Control_R
add Mod1 = Alt_R

2

당신이 나 같은 불행한 사람들 중 하나라면 xmodmap이 오른쪽 Ctrl로 오른쪽 Alt를 전환 할 수 없다면 도움이 될 것입니다.

오른쪽 Alt 키와 e 키를 누르면 é가 표시되며이 솔루션이 적합합니다 (개선 필요).

터미널에서 이것을 실행하십시오 (xev로 키 코드를 확인하십시오).

xmodmap -e "keycode 108 = Alt_R Meta_R Alt_R Meta_R"

그런 다음이 코드를 .Xmodmap에 넣으십시오.

remove Control = Control_R
remove Mod1 = Alt_R
keycode 105 = Alt_R
keycode 108 = Control_R
add Control = Control_R
add Mod1 = Alt_R

이 코드는 Alt_Gr 키를 Alt_R로 설정 한 다음 Alt_r을 Ctrl_R로 바꿉니다.

로그 아웃 한 후이 상태를 유지하려면 시작 쉘 파일 (예 : ~ / .profile)에 다음 명령을 입력하십시오.

if [ -f $HOME/.Xmodmap ]; then
  xmodmap -e "keycode 108 = Alt_R Meta_R Alt_R Meta_R"
  /usr/bin/xmodmap $HOME/.Xmodmap
fi

출처 : question1 question2


1

Ubuntu 19.04에서 시스템 전체에 매핑을 만들려면 두 파일을 변경해야합니다.

  • / usr / share / X11 / xkb / symbols / altwin
  • / usr / share / X11 / xkb / symbols / pc

이전 섹션에 다음 섹션을 추가하십시오.

// Ctrl is mapped to the Alt.
partial modifier_keys
xkb_symbols "right_alt" {
    key <LALT> { [ Alt_L, Meta_L ] };
    key <RALT> { type[Group1] = "TWO_LEVEL",
                 symbols[Group1] = [ Control_R, Control_R ] };
    modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
    modifier_map Control { <LCTL>, <RALT> };
};

후자를 대신 include "altwin(meta_alt)"하십시오 include "altwin(right_alt)".


이것은 질문에 대답하고 작동합니다. 그러나 받아 들여진 대답은 오른쪽 Alt와 오른쪽 Ctrl을 바꿉니다. 이것은 원래 요청되지 않았지만 많은 사람들이 찾고있는 솔루션이라고 생각합니다 (오른쪽에 두 개의 컨트롤이있는 것은 그렇게 편리하지 않습니다). 올바른 컨트롤을 오른쪽 alt에 매핑하는 방법을 추가 하시겠습니까?
Tedward
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.