업장에 키오스크가 한대 있다. 24시간 사용하는 것은 아니고 시간에 따른 운영 조건이 있다. 정오 근처에 수동으로 운영중단, 14시에 자동으로 운영재개, 저녁에 일시 중지, 잠시 후 수동으로 운영재개. 뭐 좀 독특한 운영시간이긴하다. 운영을 중단하기 위해서는 키오스크 프로그램 제작사가 미리 지정해둔 임의의 위치 2군데를 터치한다. 관리자 비밀번호 입력창이 뜨고 비밀번호를 입력하면 프로그램이 종료된다. 시간대에 따라 운영중단을 알리는 안내문 이미지를 전체화면으로 띄워야 한다. 이걸 수동으로 하자니 번거로운 면이 있어서 자동화를 꿈(…)꾸었다.
처음에는 키가 3개만 있는 작은 키보드를 유선 연결했다. 물론 블루투스가 편하긴 하지만 이런 기기들은 배터리 절약을 위해 입력하지 않고 있으면 잠자기 모드로 들어가는 특징이 있다. 키 하나 누르자고 미리 키 하나를 먼저 눌러서 깨워야 하는 것이다. (1보 전진을 위한 1보 후퇴도 아니고..) 게다가 키를 누르는 시간 간격에 따라 언제는 키가 한번에 먹고 어떨때는 잠자기에 들어가버려 키가 안먹어서 두번 눌러야하는 불확실성을 기본으로 깔고 가야하는 불편함이 있었다. 연타면 연타고 1타면 1타지 ‘한번 눌러서 될수도 있고 안될수도 있는데 만약 안되면 한번 더 눌러요’는 우린 또 용납 못하잖나. 3키 키보드를 키오스크 내 PC와 유선으로 연결하고 키오스크 뒷편에 부착해두었다. 1번키는 1차 운영중단, 2번키는 2차 운영중단, 3번키는 원복으로 지정하고 각 키를 ctrl + 펑션키 뒷번호로 할당했다. 오동작을 방지하기 위해 각 키는 모두 더블클릭을 해야만 동작하도록 했다.
키오스크쪽에서의 동작은 오토핫키를 이용했다. 잘 동작했다. 미리 키오스크 옆면에 작게 표시해둔 표시 쪽으로 스윽 손을 넣어 뒤를 짚으면 검지,중지,약지 자리에 3키가 딱 맞는다. 목적에 맞게 연타하면 키오스크 화면이 바뀐다. 한달 쯤 잘 쓰다가 어제 문제가 생겼다. 키캡이 하나 떨어져버린 것이다. 이게 키오스크 모양상 기기의 뒷편에 3키 키보드를 세로로 부착해서 쓰고 있었는데 옆으로 매달려 있다보니 눌렀다 뗐다를 반복하며 중력에 의해 떨어져버린 것. 보통 키보드와 다르게 기기 본체와 연결도 가느다란 핀 두개만 꽂혀 있었다. 고쳐본답시고 순간접착제 한방울씩 떨어뜨렸는데 으아~ 차라리 노란 돼지본드를 이쑤시개로 찍어 발라야했을라나. 묽은 순간 접착제가 안으로 흘러들어 키들이 모두 한번 들어가면 끄집어 내야 올라왔다. 망했다.
키보드를 새로 산다 한들 같은 문제가 생길 수 있으니, 다른 방법을 찾아보았다. 유선연결은 일단 실패, 블루투스는 제외, 같은 네트워크라면 시너지 같은 앱을 쓰면 되겠으나 그렇지 않으니 패스. KVM over IP도 방법이긴 했으나 목적과 용도에 비해 너무 과한 솔루션이다. 이럴 때 유용한게 텔레그램 봇이다. 봇 하나로는 메세지를 보내고 다른 하나로는 메세지를 받고, 키오스크에서는 파이썬으로 텔레그램을 보고 있다가 들어오는 메세지에 따라 핫키와 연동하면 될거 같았는데.. 다 해놓고 보니 텔레그램 규정상 봇 에서 봇으로는 메세지 전송을 못한다고 하였다. 얘야 얘야 제미나이야, 그걸 왜 맨 나중에 최종 테스트에서 실패가 나오니까 그때서야 죄송하다며 알려주는거니? 봇2개와 같이 있는 그룹방에서 내가 입력해도 못알아먹으니 앞선 이유도 사실인지 확실치 않고.
텔레그램 말고 ntfy.sh 를 이용하는 전송방식으로 변경하였다. 무료버젼은 ‘제한이 있다’는 이야기만 있고 몇개까지 가능한지는 나와있지 않았다. 유료는 월 5달러에 하루 2500건 전송이 가능하단다. 내 환경에서는 많으면 하루 5회, 보통 3회 전송이 필요하므로 이 정도면 무료 한계까지는 넉넉하지 않을까 싶다. 셀프 호스팅이 가능하다고 하니 나중에 여차하면 라즈베리파이나 라이트세일에 구겨넣어보도록 하고.
html 문서로 버튼 3개 만들어서 원격에서 눌러보니 잘 전송되고 키오스크에서도 제대로 동작된다. 담당자들 PC에 설치해주고 나는 아이폰과 맥에서도 사용할 수 있도록 단축어로 만들어 두었다.