출처1 : 본인
출처2 : 클리앙 진짜적님
출처3 : http://www.codeproject.com/Articles/17123/Using-Raw-Input-from-C-to-handle-multiple-keyboard
클리앙에서 딸에게 바코드 스캐너를 이용한 마트놀이를 만들어주는 공대아버지를 보았습니다.
그리고 또 하나!
클리앙 육아당 소모임에서 진짜적님이 후배 개발자를 치킨 5마리로 포섭하여 만드신 마트놀이도 받아보았습니다.
시작을 알리는 글.
몇 번의 업데이트가 지나고 종료를 알리는 글(?)
다운 받아 실행해봤는데, 기본 개발 해상도가 1280*800 인거 같았어요.
나는 FHD 모니터를 사용하는데, 레이아웃이 깨져나오네요.
우리 두 딸래미도 해주고 싶은데, 이렇게는 안될거 같다싶어서 ㅠㅠ
에라 모르겠다, 만들자!
우선 알리에서 바코드 스캐너를 샀습니다.
진짜적님이 사신 모델이며 13불인가 해서 그냥 샀습니다.
크리스마스 전에 받았습니다. ㅠㅠ (구매한지 한 3주 된거 같아요.)
그리고 바코드스캐너를 어떻게 구현하는지 찾아보니, 그냥 스캔하면 HID 장치로 입력한 것 마냥 KeyPress 이벤트가 주르르르륵~ 타고 가다가 마지막에 엔터를 탁! 쳐 주는 것 같습니다.
근데 집에 있는 노트북으로 구현해야 하는 지라, 바코드 스캐너를 사용하면서 키보드를 누르니 키가 이상하게 엉켜서 들어옵니다.
또 하나 문제점은 입력 받은 키 값을 어디서 부터 어디까지 파싱해서 써야하는지도 헷갈립니다.
그리고 또 하나!
어느 콘트롤에 포커스가 있던지 스캐너를 사용한 입력이 되어야 할 꺼에요.
모든 콘트롤에 이벤트를 다 넣어줄 순 없을 것 같았다.
그 와중, 여러개의 키보드를 가지고 있을 때 구분을 할 수 있다는 검색을 결과를 봤습니다.
아마도 RS232 방식이 아닌 USB 포트를 사용하는 바코드 스캐너는 대부분 이런 문제를 가지고 있는 것 같았고,
인터넷 검색 결과 역시 보통 POS 업계 종사하시는 분들일 듯한 느낌이 왔습니다.
여튼 서론이 길었네요.
위 파일을 받아서 압출을 풀면 준비 끝!
간략한 사용법.
압축 파일을 풀면 4개의 파일이 나오는데,
barcode.txt 파일은 진짜적님이 올려주신 미니스톱 barcode 파일입니다.
다른 barcode를 추가하고 싶으시면 이 파일을 수정해주세요.
형식은 구분자로 세미콜론(;)을 사용하며,
바코드, 제품명, 금액 순입니다.
skin.jpg
파일은 파일명에서 보이듯이 스킨파일입니다.
이 역시 진짜적님이 올려주신 파일입니다.
프로그램을 실행하면 나오는
버튼은 당연히 종료이며,
마지막으로
버튼은 바코드스캐너를 꼽고 스캔을 했는데, 정상적으로 인식이 되지 않을 때
USB Keyboard 타입의 바코드 스캐너를 선택해줄 수 있는 설정 창입니다.
내용이 간단하여 보시면 바로 감이 올 것 입니다.
나중에 TTS 기능을 추가해볼 생각입니다.
WPF 처음 만져보는데, 재미있으면서 귀찮네요 ㅎㅎ