출처1 : http://www.crazymind.net/43

출처2 : http://www.codeproject.com/Articles/17123/Using-Raw-Input-from-C-to-handle-multiple-keyboard



클리앙에서 딸래미한테 바코드 스캐너를 이용한 마트놀이를 만들어주는 아빠를 보았다. 


http://www.clien.net/cs2/bbs/board.php?bo_table=park&wr_id=41454043&sca=&sfl=wr_subject&stx=%EA%B3%B5%EB%8C%80&spt=-4478722



그리고 또 하나!


클리앙 육아당 소모임에서 진짜적님이 후배 개발자를 치킨 5마리로 포섭하여 만든 마트놀이도 받아보았다.


시작을 알리는 글.

http://clien.net/cs2/bbs/board.php?bo_table=cm_baby&wr_id=97553&sca=&sfl=wr_subject&stx=%EB%A7%88%ED%8A%B8


몇 번의 업데이트가 지나고 종료를 알리는 글(?)


http://clien.net/cs2/bbs/board.php?bo_table=cm_baby&wr_id=99434&sca=&sfl=wr_subject&stx=%EB%A7%88%ED%8A%B8




왠지, 괜시리 나도 만들어 주고 싶더라.

우리집도 한빛, 한율이가 있는데!



클량에서 본 데모버전은 Windows Tab으로 터치를 구현한 것 같았다. 


하지만 난 그런게 없다.


집에 놀고 있는 노트북으로 대신해야 할 것 같다. 



우선 알리에서 바코드 스캐너를 샀다.

진짜적님이 사신 모델이란다. 13불인가 해서 그냥 샀다. 

크리스마스 전에는 오겠지 @_@


http://www.aliexpress.com/item/High-Scaned-Speed-Portable-Losar-Barcode-Scanner-Reader-Gun-with-USB-Cable-for-Supermarket-and-POS/32374610273.html



그리고 바코드스캐너를 어떻게 구현하는지 찾아보니, 그냥 스캔하면 HID 장치로 입력한 것 마냥 KeyPress 이벤트가 주르르르륵~ 타고 가다가 마지막에 엔터를 탁! 쳐 주는 것 같더라.



근데 집에 있는 노트북으로 구현해야 하는 지라, 바코드 스캐너를 사용하면서 키보드를 누를 수 있더라.


또 하나 문제점은 입력 받은 키 값을 어디서 부터 어디까지 파싱해서 써야하는지도 헷갈렸다. 



그리고 또 하나!


어느 콘트롤에 포커스가 있던지 스캐너를 사용한 입력이 되어야 할 것이었다. 

모든 콘트롤에 이벤트를 다 넣어줄 순 없을 것 같았다. 



그 와중, 여러개의 키보드를 가지고 있을 때 구분을 할 수 있다는 검색을 결과를 봤다.


아마도 RS232 방식이 아닌 USB 포트를 사용하는 바코드 스캐너는 대부분 이런 문제를 가지고 있는 것 같았고,


인터넷 검색 결과 역시 보통 POS 업계 종사하시는 분들일 듯한 느낌이 왔다.



여튼 서론이 길었다. 



심플하게 소스로 봅시다.



원 출처 분은 Windows7 / VS2008 환경이었던 것 같다.


본인은 Windows10 / VS2012 환경이며, 아래 소스는 동작확인을 한 소스이다. 


처음 소스코드를 받았는데, 동작을 안했던 것을 리플로 정리해주신 오상훈님께도 심심한 감사를 표한다.



RawInput.7z



추가로 진짜적님이 배포해 주신 파일 중에.

바코드 정리하신 파일입니다. 


진짜적님 감사합니다. 



barcode.7z
































Posted by motolies

댓글을 달아 주세요