![화면에서 실행되는 명령줄 프로그램에 키보드/IR 컨트롤러를 연결하세요.](https://linux55.com/image/53316/%ED%99%94%EB%A9%B4%EC%97%90%EC%84%9C%20%EC%8B%A4%ED%96%89%EB%90%98%EB%8A%94%20%EB%AA%85%EB%A0%B9%EC%A4%84%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%97%90%20%ED%82%A4%EB%B3%B4%EB%93%9C%2FIR%20%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC%EB%A5%BC%20%EC%97%B0%EA%B2%B0%ED%95%98%EC%84%B8%EC%9A%94..png)
저는 Raspberry Pi를 GUI 없는 음악 플레이어로 사용하려고 합니다. Arch Linux를 설치했고 SSH를 통해 사용하고 있습니다. 또한 음악 볼륨 조절, 다음 노래로 건너뛰기, 임의 노래 재생 등에 사용할 IR 수신기 어댑터도 있습니다.
IR 어댑터는 키보드를 인식하고 /dev/input/event0에 씁니다. 처음에는 LIRC에서 작동하도록 시도했지만 키보드인 척하는 IR 어댑터가 LIRC에서 제대로 작동하지 않는 것 같습니다.
제 질문은 이제 IR 수신기에서 키보드와 같은 입력을 받았는데 이를 프로그램으로 어떻게 전송합니까?입니다. 현재 저는 cmus를 화면에 사용하고 있습니다.
내 설정을 작동시키는 방법에 대한 몇 가지 일반적인 제안 사항이 있으면 기꺼이 듣고 싶습니다. 그렇지 않다면 적어도 IR 수신기 키보드를 화면에서 실행되는 프로그램에 연결하는 방법을 알고 싶습니다.
편집하다:
너무 멍청해서 그냥 넣을 생각을 못했네요.
그러나 일련의 문제가 있습니다.
먼저 cat /dev/input/event0
mumble jumble(UTF-8 터미널에서 다음과 같이 표시됨: �SS�xO��SS�xj��SS�x��SS�CO��SS�Cj��SS�C를 출력합니다. 한 번의 키 입력 반줄 출력될 수 있으며, 길게 누를수록 시간이 길어집니다.) 리모콘의 버튼을 누를 때마다 확실히 반응하지만 바이트 인코딩이 무엇인지, 스캔 코드인지, 아니면 무엇인지 잘 모르겠습니다.
둘째, 여전히 ssh에서 제어하고 싶기 때문에 멀티플렉서를 입력해야 합니다.
셋째, 다음을 입력할 때:
cat /dev/input/event0 | screen -rd
또는cat /dev/input/event0 | screen cmus
그것은 불평한다:
Must be connected to a terminal.
답변1
제가 귀하의 상황을 정확하게 이해하고 있는지는 잘 모르겠습니다만,
cat /dev/input/event0 | someprogram
표준 입력과 /dev/input/event0에 쓰는 모든 것을 읽는 프로그램이 있어야 합니다.
(IR 수신기가 장치 파일에 쓰도록 하는 방법을 물어봐도 될까요? 이것은 IR 어댑터로는 수행할 수 없는 작업입니다.)
나의 일반적인 조언은 Python 스크립트의 파일을 읽고 읽은 문자에 따라 무언가를 할 수 있다는 것입니다.
inputCharStream = open('/dev/input/event0')
while True:
c = inputCharStream.read(1)
if c=='a':
print "character a"
if c==chr(1):
print "byte 1 which is not printable"
break
말도 안되는 내용을 인쇄하는 대신 일부 Python 라이브러리를 사용하여 유용한 작업을 수행할 수 있습니다.