복사하려면 Ctrl+C를, 중단하려면 Ctrl+Shift+C를 활성화하세요.

복사하려면 Ctrl+C를, 중단하려면 Ctrl+Shift+C를 활성화하세요.

복사를 위해 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( ) 설정 의 텍스트입니다 .CCtrlShiftVintrsttylnextstty

Ctrl이 기능을 사용하면 번역 리소스(예: 리소스의 다음 줄)를 사용하여 + 문자를 보낼 수 있습니다 .Cstringtranslations

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.

추가 자료:

답변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
'

관련 정보