복사를 위해 xterm에서 Ctrl+를 활성화하고 SIGINT/인터럽트를 위해 +를 활성화하고 싶습니다 .CCtrlShiftC
나는 발견했다다음과 같은.
XTerm*VT100.Translations: #override \
Shift Ctrl<Key>V: insert-selection(CLIPBOARD) \n\
Shift Ctrl<Key>V: insert-selection(PRIMARY) \n\
Shift<Btn1Down>: select-start() \n\
Shift<Btn1Motion>: select-extend() \n\
Shift<Btn1Up>: select-end(CLIPBOARD) \n\
Ctrl해당 부분이 존재한다고 생각하지만 +를 재정의하는 방법에 대한 데모는 없습니다 C.
답변1
Ctrl이는 "부분적으로 존재"하지만 ++ 또는 Shift++ 에 해당하는 미리 정의된 (싱글바이트) 문자가 없다는 문제를 겪습니다 . 인터럽트( ) 설정 에는 이 1바이트 문자를 사용해야 합니다 . 마찬가지로 Ctrl+V는 next( ) 설정 의 텍스트입니다 .CCtrlShiftVintr
stty
lnext
stty
Ctrl이 기능을 사용하면 번역 리소스(예: 리소스의 다음 줄)를 사용하여 + 문자를 보낼 수 있습니다 .Cstring
translations
ctrl shift <key>C : string(0x03) \n\
ctrl shift <key>V : string(0x16) \n\
그런 다음 이동되지 않은 키를 할당합니다(물결표를 입력하세요).~
`shift 키워드 앞에).
후속 댓글에서 동의합니다.연합 국가Shift 모드이면 충분합니다.
~Shift Ctrl <KeyPress> v: insert-selection(CLIPBOARD)\n\
~Shift Ctrl <KeyPress> c: copy-selection(CLIPBOARD)\n
일부 참고 사항(문서화되어 있지만 소스 코드가 도움이 될 것임):
<KeyPress>
같은 의미<Key>
<KeyPress>
수정자 일치 ( 및 )는 대소문자를 무시합니다.- 오른쪽 부분
:
대소문자를 구분합니다.
일반적으로 +는 Shift 수정자 유무에 관계없이 Ctrl번역되지 않습니다 . xterm은 수정자 정보와 문자가 포함된 an을 C가져온 다음 이를 디코딩합니다.XKeyEvent
저것. 이 translations
자원은 xterm으로 전송될 수 있는 이벤트를 변경합니다.
번역에서 수정자를 사용하여 일치를 제한할 수 있습니다. 예를 들어 생략하면 ShiftShift 키를 눌렀는지 여부에 관계없이 일치한다는 의미입니다. 명시적인 추가~shift
(아니요Shift) 수정자는 일치에 영향을 주지 않습니다.shift
.
추가 자료:
- 사용자 정의 키 바인딩(xterm 매뉴얼)
답변2
이것은 xterm에서 작동하는 것 같습니다
xterm -xrm 'XTerm*VT100.Translations: #override\n\
~Shift <KeyPress> Prior: scroll-back(1,halfpage)\n\
~Shift <KeyPress> Next: scroll-forw(1,halfpage)\n\
Shift <KeyPress> Prior: string(0x1b)string("[5~")\n\
Shift <KeyPress> Next: string(0x1b)string("[6~")\n\
~Shift Ctrl <KeyPress> v: insert-selection(CLIPBOARD)\n\
~Shift Ctrl <KeyPress> c: copy-selection(CLIPBOARD)\n
'