LIRC를 사용하여 IR 레코딩 하기 위해서, lircd 데몬을 실행되고 있다면 kill 시키도록 한다. lircd 데몬이 실행 상태에서 ir 레코딩은 이상한 데이터가 기록된다.

타켓보드에서 irrecord 명령어를 아래와 같이 실행하여 ir 레코딩을 시작할 수 있다.
$ irrecord -d /dev/lirc0 ./lircd.conf
irrecord를 실행하면 아래와 같이 RCU 이름을 설정하고 IR 레코딩을 진행하도록 한다.


HD_WSCL 이름을 갖는 lirc.conf 파일이 생성되며, 다음 단계에서는 최대한 많은 key를 입력하도록 한다. 여기서 주의할 점은 1초이상 길게 눌려서는 안된다.


위 단계에서 RCU가 사용하는 RC5/NEC 등의 프로토콜을 판단한다. 프로토콜 스캔이 완료되면 각 key에 대한 keycode를 맴핑하면 된다. keycode는 /usr/include/linux/input-event-codes.h를 참고하도록 한다.



위와 같이 각 key에 대한 keycode 입력을 완료되면 빈공간 없이 <Enter> 입력하면 완료되고, 바로 toggle bit mask를 스캔한다. RCU 프로토콜 스캔 단계와 같이 최대한 많은 key를 입력하도록 한다. bit mask 스캔이 완료되면 conf 파일이 생성되는 것을 확인하도록 한다.
$ vi HD_WSCL.lirc.conf begin remote name HD_WSCL bits 16 flags SPACE_ENC|CONST_LENGTH eps 30 aeps 100 header 8931 4504 one 544 1701 zero 544 586 ptrail 545 repeat 8931 2263 pre_data_bits 16 pre_data 0x101 gap 114913 toggle_bit_mask 0x808 frequency 38000 begin codes KEY_POWER 0x10EF KEY_MUTE 0x58A7 KEY_1 0xC03F KEY_2 0xC837 KEY_3 0xD827 end codes end remote
RCU HD_WSCL은 NEC 프로토콜을 사용하기 때문에, frequency는 38K를 사용한다. toggle_bit_mask 값이 0x808로 정의 되어 있을 경우, lircd에서 한번 더 계산하기 때문에, toggle_bit_mask 값은 0으로 변경한다. 위 conf 파일의 keycode는 이미 비트 연산된 값이다.
그리고 suppress_repeat를 설정하여 repeat 처리되는 정도를 조절할 수 있다. suppress_repeat 설정하지 않을 경우 0으로 설정되는데, 이 경우 키 입력을 한번 하였지만, 2-3번 눌린것으로 처리하는 경우가 빈번하게 발생한다.