Ctrl + 화살표를 Home 및 End 키에 바인딩하는 방법은 무엇입니까? xmodmap이 작동하지 않습니다


15

Windows에서 내가 바인딩하는 데 사용 Ctrl+ LeftHomeCtrl에 + 마우스 오른쪽 단추 End를 통해 AHK.

이제 우분투 에서이 동작을 달성하기 위해 고심하고 있습니다. 나는 편집을 시도했다 /etc/inputrc:

"\e[1;5C": end-of-line
"\e[1;5D": beginning-of-line

터미널 창에서만 작동합니다. 나는 또한 xmodmap을 시도했습니다.

xmodmap -e "keycode 113=Left NoSymbol Home"

그러나 작동하지 않습니다.
여기서 이상한 점 은 xmodmap 에서 Shift+ Left에 바인딩 하면 작동한다는 것입니다.

xmodmap -e "keycode 113=Left Home"

내 생각에 Ctrl+ Left(건너 뛰기 단어) 의 기본 동작이 xmodmap 바인딩보다 우선 순위가 높습니다.

기본 바인딩의 위치와 제거 방법은 어디에서 찾을 수 있습니까? 아니면 필요한 동작을 바인딩 할 수 있습니까?

우분투 12.04에 있습니다


xev변경하려는 키에 대한 출력을 얻 습니까?
세스

나는한다. xev 출력에서 ​​키 코드 113 = 왼쪽이 있습니다.
acid009

전체 xev출력 을 추가 할 수 있습니까 ?
세스

상태 0x0, 키 코드 113 (키심 0xff51, 왼쪽)
acid009

상태 0x4, 키 코드 113 (keysym 0xff51, Left) Ctrl로 누르면 상태가 예상대로 0x4로 변경됨
acid009

답변:


11

AutoKey 는 이와 같은 바인딩을 수행 할 수 있지만 백그라운드에서 서비스를 실행해야합니다 (ahk와 같지만 xmodmap과는 달리).

텍스트가 <home>이고 붙여 넣기 방법이 Keyboard이고 핫키가 <ctrl>-<left>다음 과 같은 곳에 "문구"를 구성하십시오 .

오토 키 GUI


좋은. 이것은 또한뿐만 아니라 여기 답변으로 잘 맞는 수 있습니다 askubuntu.com/questions/254424/...
케빈 보웬

1
보다 확장 된보다 일반적인 버전 : askubuntu.com/a/304834/194 이 질문이 중복됩니까?
cscarney

아마 그렇습니다. 그러나 현상금을 받아야합니다. ;-)
Kevin Bowen 2016

이 방법은 작동하지 않습니다.
acid009

1
@JeffDror <page_up> 및 <page_down> ( code.google.com/p/autokey/wiki/SpecialKeys )
cscarney

1

우분투 워크 스테이션에서 Apple 알루미늄 키보드를 사용하고 있으며 다음 xmodmap 명령으로 나를 위해했습니다.

# remap Ctrl_L to ModeSwitch, then use it to map arrow keys so that
# they act like on the MacBook keyboard with Fn key pressed 
xmodmap -e "keycode 37=Mode_switch"
xmodmap -e "keycode 113 = Left NoSymbol Home"
xmodmap -e "keycode 114 = Right NoSymbol End"
xmodmap -e "keycode 111 = Up NoSymbol Prior"
xmodmap -e "keycode 116 = Down NoSymbol Next"

Caps Lock키가 Ubuntu 키보드 환경 설정을 사용하여 컨트롤 기능으로 다시 매핑되므로 왼쪽 컨트롤 키가 필요하지 않기 때문에 완벽하게 작동 합니다. MacBook 키보드에서 Fn 키를 찾을 수있는 위치에 있기 때문에 데스크탑과 MacBook 키보드 간 전환은 근육 메모리에 영향을 미치지 않습니다.


0

오토 키가 나를 위해 일했습니다. 기본 자동 키 동작은 right ctrl+ arrowleft ctrl+ 모두를 매핑합니다 arrow. 그리고 나는 단어를 탐색 right ctrl하는 데 사용했기 때문에 만 원했습니다 left ctrl.

Autokey에서 사용한 스크립트는 다음과 같습니다.

output = system.exec_command('xinput query-state "AT Translated Set 2 keyboard" | grep down', getOutput=True)
# 105 is right ctrl
if 'key[105]=down' in output:
    keyboard.send_keys('<end>')
else:
    keyboard.send_keys('<ctrl>+<right>')

참고 : 키보드 이름이 다를 수 있습니다. 그들 모두를 시도하십시오. 나는 3 개의 장치를 가지고 있었지만 하나만 작동했습니다.

xinput list --name-only | grep -i keyb
Virtual core keyboard
Virtual core XTEST keyboard
AT Translated Set 2 keyboard

PS 우분투 소프트웨어의 패키지가 손상되어 GitHub에서 Autokey를 설치했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.