마우스 클릭 후 PuTTY 터미널에 이상한 5개 문자 시퀀스가 ​​나타남

마우스 클릭 후 PuTTY 터미널에 이상한 5개 문자 시퀀스가 ​​나타남

특정 프로그램(구성)을 실행할 때 터미널이 복잡해집니다. 내 입력 내용이 표시되지 않습니다. "stty sane"을 사용하여 고칠 수 있었지만 터미널에서 마우스를 클릭할 때마다(저는 PuTTY를 사용합니다) 이상한 문자가 나타나는 것을 발견했습니다. 예를 들어

# O:#O: O:#O: 7-#7- BE#BE ...

5개의 문자로 구성된 시퀀스로 나타나는데, 동일한 위치를 클릭하면 동일한 시퀀스가 ​​나타납니다.

"재설정"을 사용하여 문제를 해결할 수 있다는 것을 알고 있지만 이것이 무엇인지, 재설정하지 않고 문제를 해결할 수 있는 방법이 있는지 알고 싶습니다. "구성" 내에서 터미널을 엉망으로 만드는 근본 원인을 찾는 방법이 있을 수도 있습니다.

답변1

이것은 xterm 스타일입니다"생쥐"이벤트. 원칙적으로 적절한 printfOR을 사용하여 이를 끌 수 있지만 echo터미널 설명에서 이미 OR 문자열의 일부인 경우 reset("infocmp" 출력 참조).rs1rs2

reset예를 들어 다음을 사용하십시오.

    rs1=\Ec,                                                                
    rs2=\E[!p\E[?3;4l\E[4l\E>,

그리고 후자를 선호합니다(전자는 하드 리셋입니다). \E이스케이프 문자 입니다 . 그런데 첫 번째 블록은 rs2,\E\[!p일반적으로 마우스 및 기타 대부분의 유용한 항목을 재설정하는 소프트 재설정입니다. printf는

printf '\033[!p'

타이핑하는 것 그 이상입니다.

reset

echo(당신이 알고 있는 비표준을 사용하더라도 \E). 그러나 화살표 키에 대한 설명: 소프트 재설정은 커서 키를 다시 일반 모드로 되돌리는 반면 vi는 해당 키가 응용 프로그램 모드에 있다고 생각합니다.

마우스만 비활성화하려면 다음 출력을 확인하십시오 infocmp -x.

XM=\E[?1006;1000%?%p1%{1}%=%th%el%;,

이는 ncurses에게 마우스를 활성화/비활성화하는 방법을 알려줍니다. 터미널 설명이 완전히 정확하지 않습니다저것, 하지만 1000그것은일반 마우스 모드귀하의 예가 이것을 보여줍니다. 그럼... 넌 할 수 있어

printf '\033[?1000l'

(소문자 L은 비활성화됩니다) 그런 다음 마우스를 죽입니다.

"일부 프로그램"이 스스로 정리할 수 없기 때문에 이 현상이 나타나는 것입니다.

관련 정보