CoreELEC에서 IR 리모컨 세팅하기

하드커널 액서서리 IR 리모컨

출처 : https://www.hardkernel.com/ko/shop/ir-remote-controller/

Odroid N2에는 IR 센서가 달려 있고 하드커널 홈페이지에서도 IR 리모컨을 악세사리로 팔고 있습니다. 하지만 저는 이미 통합TV 리모컨이 있어서 그걸 사용하기로 했습니다.

IR Remote controller

이 제품이 기본적으로 다양한 TV 지원이라 모드 변경하다 보면 Odroid 기본값이랑 호환되는게 있을거 같아서 삽질하다가 못찾았습니다. 그래서 그냥 리모컨 기본모드에서 Odroid 세팅값을 변경하기로 했습니다.

일단 N2에 SSH 연결을 합니다. CoreELEC 처음 세팅할때 SSH 활성화 하면 비번 적는게 있는데 그게 root 계정 비번 설정입니다.

##############################################
#                  CoreELEC                  #
#            https://coreelec.org            #
##############################################

CoreELEC (official): 9.2.0 (Amlogic-ng.arm)
CoreELEC:~ #

접속하면 요렇게 나옵니다.
여기서 아래 명령을 내립니다.

systemctl stop kodi && systemctl stop eventlircd

실행하면 CoreELEC이 꺼지고 걍 검은 화면만 나옵니다.

ir-keytable -p NEC,RC-5,RC-6,JVC,SONY -t

그리고 위 명령을 내리고 N2를 향해 리모컨 버튼을 누르면 리모컨 버튼의 스캔코드를 읽을수 있습니다.

CoreELEC:~ # ir-keytable -p NEC,RC-5,RC-6,JVC,SONY -t
Protocols changed to rc-5 jvc sony nec rc-6
Testing events. Please, press CTRL-C to abort.
494.336666: event type EV_MSC(0x04): scancode = 0x391513
494.336666: event type EV_SYN(0x00).

저는 이렇게 나옵니다. 여기서 저 스캔코드를 잘 적습니다.

# table linsoo, type: NEC
0x391518 KEY_MUTE
0x391540 KEY_VOLUMEDOWN
0x39151f KEY_VOLUMEUP
0x391512 KEY_LEFT
0x391511 KEY_UP
0x391514 KEY_RIGHT
0x391515 KEY_DOWN
0x391513 KEY_ENTER
0x391561 KEY_BACK 
0x391562 KEY_HOME
0x391500 KEY_POWER
0x391541 KEY_MENU

0x391503 KEY_1
0x391504 KEY_2
0x391505 KEY_3
0x391506 KEY_4
0x391507 KEY_5
0x391508 KEY_6
0x391509 KEY_7
0x39150a KEY_8
0x39150b KEY_9
0x39150c KEY_0

0x391566 KEY_PREVIOUS
0x391560 KEY_PLAYPAUSE
0x391563 KEY_STOP
0x391567 KEY_NEXT
0x39154d KEY_SUBTITLE		#자막 순환

0x39154f KEY_CONTEXT_MENU	#마우스 우클릭

이건 제 리모컨에서 “올레KT” 모드일때 값입니다. 위 항목의 값은 다 구해서 잘 적어둡니다.
키코드 참고는 : http://ix.io/19sO

이걸 파일로 저장해서 CoreELEC에 업로드 합니다. 저는 파일명으로 “linsooIR이라고 했고 경로는 “/storage/.config/rc_keymaps/linsooIR” 입니다.

# Keymaps table
#
# This table creates an association between a keycode file and a kernel
# driver. It can be used to automatically override a keycode definition.
#
#
# Format:
#       driver - name of the driver provided via uevent - use * for any driver
#       table -  RC keymap table, provided via uevent - use * for any table
#       file - file name. If directory is not specified, it is first looked up
#               in /storage/.config/rc_keymaps, then /usr/lib/udev/rc_keymaps
#
# For example:
#
# driver        table           file
#
# gpio-rc-recv  rc-streamzap    streamzap
# gpio-rc-recv  *               justboom
# *             rc-rc6-mce      rc6_mce_new
# *             *               hauppauge_new
meson-ir        *     /storage/.config/rc_keymaps/linsooIR

/storage/.config 경로에 보면 rc_maps.cfg.sample파일을 참고해서 /storage/.config/rc_maps.cfg 파일을 만듭니다.

다운로드 : rc_maps.cfg (위내용과 같습니다)

CoreELEC:~ # ir-keytable -a /storage/.config/rc_maps.cfg -s rc0
Old keytable cleared
Wrote 24 keycode(s) to driver
Protocols changed to nec
CoreELEC:~ # systemctl start eventlircd && systemctl start kodi

이렇게 두개의 파일을 만들어 주고 위 명령을 실행해주면 화면에 다시 CoreELEC이 나오면서 리모컨이 작동합니다.


Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다