임베디드 보드를 사용하다가 보면 Input에 연결된 정보를 볼 경우가 있는데 가끔씩 하다보니 생각이 잘 나지 않아서 정리 차원에서

글을 올립니다.


1. INPUT 디바이스 정보 보기


    [root@falinux ~]$ cd /proc/

    [root@falinux proc]$ cd bus/

    [root@falinux bus]$ ls

    input  usb


    위의 파일 중 input 디렉토리로 들어갑니다.


     [root@falinux bus]$ cd input/

     [root@falinux input]$ ls

     devices   handlers

    

     두개의 파일 중 연결된 input 디바이스 정보를 보기 위해서는 device 를 열어보면 됩니다.


    ---------------------------------------------------------------------------------


     [root@falinux input]$ cat devices 

     I: Bus=0019 Vendor=0001 Product=0001 Version=0100

    N: Name="falinux-gpio-keys"

    P: Phys=falinux_gpio-keys/input0

    S: Sysfs=/devices/platform/falinux-gpio-keys/input/input0

    U: Uniq=

    H: Handlers=kbd event0 evbug 

    B: EV=3

    B: KEY=7fffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff



    I: Bus=0013 Vendor=dead Product=beef Version=0101

   N: Name="S3C TouchScreen"

   P: Phys=input(ts)

   S: Sysfs=/devices/virtual/input/input1

   U: Uniq=

   H: Handlers=mouse0 event1 evbug 

   B: EV=b

   B: KEY=400 0 0 0 0 0 0 0 0 0 0

   B: ABS=1000003


   ----------------------------------------------------------------------------------


    현재 연결된 Input 디바이스는 2개입니다. 

    하나는 key 입력이고, 다른 하나는 TouchScreen 입니다.  N: Name 을 보시면 됩니다.


    여기서 봐야할 중요한 것은 이 Input 디바이스가 어떤 Handlers 에 연결되어 있는가입니다.

    H: Handlers 를 보시면 됩니다.

    즉, 2번째인 S3C TouchScreen 의 경우에는 Handlers가 mouse0, event1 evbug 3가지의 디바이스 장치파일에 연결되어

    있다는 것을 알 수 있습니다.

    이것은 어플리케이이션 프로그램에서 디바이스 장치를 Open 할 장치명을 알려주는 것입니다.

     S3C TouchScreen 는 input 디바이스의 event 를 사용하기 때문에  open 시 다음과 같이 해야 TouchScreen의 입력값을 

    읽을 수 있습니다.


    dev = open( "/dev/input/event1",  O_RDWR);

 

    [참고]

    어플리케이션에서 프로그램을 작성하여 테스트하기 전에 hexdump 라는 유틸을 사용하면 H/W 동작여부를 확인 할 수 있습니다.  

  

    Input 디바이스의 장치파일입니다.

   [root@falinux input]$ ls -al /dev/input/ 

   crwxrwxrwx    1 root     root      13,  64 Apr 17  2008 event0

   crwxrwxrwx    1 root     root      13,  65 Apr 17  2008 event1

   crwxrwxrwx    1 root     root      13,  66 Apr 17  2008 event2

   crwxrwxrwx    1 root     root      13,  67 Apr 17  2008 event3

   crwxrwxrwx    1 root     root      13,  63 Apr 17  2008 misc

   cr wxrwxrwx    1 root     root      13,  32 Apr 17  2008 mouse0

   crwxrwxrwx    1 root     root      13, 128 Apr 17  2008 ts0

   crwxrwxrwx    1 root     root      13, 129 Apr 17  2008 ts1

   crwxrwxrwx    1 root     root      13, 130 Apr 17  2008 ts2

   crwxrwxrwx    1 root     root      13, 131 Apr 17  2008 ts3


   [root@falinux input]$ hexdump /dev/input/event1

   하시고 TouchScreen 을 누르면 Hex값으로 동작 여부를 확인 할 수 있습니다. ( 종료는 Ctrl + c 입니다 )


   [root@falinux input]$ hexdump /dev/input/event0

   하시고 저희 EZ-S3C6410 보드에 있는 두개의 Key를 누르면 아래와 같이 Hex값으로 동작 여부를 알수 있습니다.

   0000000 0504 0000 967c 0001 0001 008b 0001 0000

   0000010 0504 0000 96bb 0001 0000 0000 0000 0000

   0000020 0504 0000 f1c9 0004 0001 008b 0000 0000

   0000030 0504 0000 f202 0004 0000 0000 0000 0000

   0000040 0504 0000 7020 000a 0001 009e 0001 0000

   0000050 0504 0000 705c 000a 0000 0000 0000 0000

   0000060 0504 0000 cb66 000d 0001 009e 0000 0000

   0000070 0504 0000 cb98 000d 0000 0000 0000 0000

   0000080 0505 0000 fa3c 0000 0001 008b 0001 0000

   0000090 0505 0000 fa77 0000 0000 0000 0000 0000

   00000a0 0505 0000 6b32 0003 0001 008b 0000 0000

   00000b0 0505 0000 6b6a 0003 0000 0000 0000 0000


   USB 마우스나 키보드를 연결하고 테스트해 보셔도 됩니다. 

   이때   [root@falinux ]$ cat /proc/bus/input/devices  하셨어 연결된 입력 장치의 정보를 보시고 하세요..