설정 메뉴에서 텍스트 편집기 해킹을 사용합니다.

소스 노드 : 1883362

설정 메뉴가 필요한 많은 임베디드 장치는 선호하는 터미널 에뮬레이터에 연결하는 USB 직렬 포트를 사용합니다. 그러나 우리는 최근 메모장이나 Vim과 같은 텍스트 편집기를 사용하여 설정을 수행하는 일반 USB 손잡이를 만났습니다(약간 보기 흉했지만). iWit이라는 회사가 여러 종류의 USB 손잡이 이는 결국 그러한 많은 제품으로 이어집니다.

이러한 일반 USB 손잡이는 일반적으로 플러그 앤 플레이 방식이며 PC의 볼륨과 음소거를 제어하는 ​​데 사용됩니다. iWit과 같은 일부 모델은 사용자가 장치 내에서 매핑 구성. 예를 들어, 노브 회전을 설정하여 위쪽 및 아래쪽 화살표 키를 생성할 수 있고, 노브 누르기를 ENTER로 설정할 수 있습니다. 이런 종류의 매핑은 PC에서도 할 수 있지만 대부분의 USB 노브를 사용하면 가능합니다. 설정의 핵심은 이 메뉴입니다(아래 비디오의 처음 30초 동안 작동 모습을 볼 수 있음).

- WINDOWS 모드 - 1 시계 방향 : 위쪽 키 2 시계 반대 방향 : 아래쪽 키 3 누르기 : Enter 4 + 시계 방향 누르기 : 다음 5 누르기 + 시계 반대 방향 : 이전 6 길게 누르기 : 재생 / 일시 정지 [기본값 복원] [저장 및 종료]

물론 좋은데, 놀라운 점은 애초에 설정 메뉴가 어떻게 구현되어 있느냐는 점이다. 이미 HID인 손잡이는 마치 키보드로 입력하는 것처럼 설정 메뉴를 표시합니다. 옵션을 선택하기 위해 손잡이를 돌리면 커서의 위아래 이동을 위한 ANSI 이스케이프 시퀀스가 ​​생성되고 현재 행이 강조 표시됩니다. 스트림을 보면 메뉴가 다음 코드로 진행되는 것을 확인할 수 있습니다.

ESC [ 4 ~ 개인 코드? ESC [ 1 ; 2 H 커서 1행, 2열 ESC [ D 커서를 한 열 뒤로 이동 ESC [ 3 ~ 개인 코드?

항목 선택은 단순히 위쪽 및 아래쪽 커서 이동 코드입니다.

ESC [ A 커서를 한 행 위로 이동 ESC [ B 커서를 한 행 아래로 이동

우리가 터미널과 통신하고 있다면 이는 의미가 있습니다. 그러나 일반적인 텍스트 편집기가 ANSI 이스케이프 시퀀스를 처리하는 방법은 완전히 명확하지 않습니다. 위쪽 및 아래쪽 커서 코드가 운영 체제나 편집기 자체에서 화살표 키로 해석될 것이라고 상상하는 것은 그리 무리한 일이 아니지만 강조 표시는 약간 미스터리로 남아 있습니다. 아이디어가 있거나 비슷한 작업을 직접 수행한 경우 아래 댓글을 통해 알려주시기 바랍니다.

아래 영상은 [Nelson Chu]님의 영상에서 찾았습니다. Expresii 블로그, 컴퓨터 그래픽 시스템에서 유기적인 브러시 스트로크 시뮬레이션을 전문으로 하는 아티스트입니다. 이 기사에서 사용된 특정 노브는 DROK 브랜드이므로 라벨에 iWit이라고 표시되어 있지 않더라도 USB 노브에 이 기능이 있을 수 있습니다. USB 노브를 완벽하게 제어하려면 앞서 설명한 대로 직접 만들어 보세요. 이 글은 2020년에 나온 글입니다.

출처: https://hackaday.com/2022/01/20/setup-menu-uses-text-editor-hack/

타임 스탬프 :

더보기 하 카다이