2-in-1 노트북의 palm rejection 은 보통 펜을 인식하는 경우에만 동작하기 때문에,

계속 펜을 화면에 근처에 적당히 인식시켜야 하는게 좀 불편해서 대강 만들어보았습니다.



우선 터치스크린은 '장치관리자' 에서 터치스크린을 '사용안함'으로 하면 끌 수 있습니다.

매 번 이렇게 끄고 켜면 불편하니, 간단히 장치관리자를 command line 에서 건드릴 수 있는

devcon 이라는 프로그램을 활용하면 됩니다.



다만, devcon은 WDK (Window driver kit) 이라는 개발도구 안에 포함되어 있는데, WDK의 용량이 좀 큽니다.

필요한 devcon 은 kb 단위이기 때문에, 'devcon extract' 라 검색하면 여러 경로를 통해 얻을 수 있습니다.


제가 찾은 곳은 이 곳입니다.

https://superuser.com/questions/1002950/quick-method-to-install-devcon-exe


받아서 Windows\System32 폴더에 넣으면 됩니다.



devcon 에서 장치를 컨트롤하려면, 해당 ID 를 알아야하는데

ID 는 '장치 관리자'의 해당 장치 '속성'에서, '자세히'에 가면  찾을 수 있습니다.




*PID0303* / *DEV_0303* 등으로 사용하면 됩니다.


devcon 프로그램에서 장치를 잘 인식하고 있는지는, find 를 통해 확인할 수 있습니다.

devcon find *PNP0303*

devcon find *DEV_0303*




필요한 기능인 장치 사용안함/사용 상태를 전환은

devcon disable HWID

devcon enable HWID

을 통해 할 수 있습니다. (관리자 권한 필요)



이 명령어를 기반으로, 배치파일을 만들었습니다.



배치 파일 내용은,

touch_en 이라는 환경변수를 검사해서, 이것에 따라 devcon 으로 터치스크린이 켜지거나 꺼지는 형식입니다.

touch_en 환경 변수가 없으면, setx 라는 명령어가 알아서 이를 만들게 됩니다.


'msg' 는 메시지 상자를 띄우는 windows 내장 프로그램인데,

1초 동안 Touch on / Touch off 라는 메시지를 본인(%username%) 에게 띄우게 해놓았습니다.


배치파일을 Bat to exe convert 를 이용해 exe 로 바꾸면서,

실행 시 관리자권한을 확인하도록 하면 편합니다.


저는 exe 로 만들고, 작업표시줄 밑에 고정시켜놓은 뒤 펜으로 필요할때 눌러서 사용 중입니다.


HWID 는 자신의 터치스크린 장치의 ID 를 넣어서 사용하시면 됩니다.



@echo off

if "%touch_en%"=="1" (
   goto :touch_off )
) else (
   goto :touch_on
)


:touch_off
echo "Touch Off"
devcon disable HWID
msg /time:1 "%username%" Touch off
setx touch_en 0
exit

:touch_on
echo "Touch On"
devcon enable HWID
msg /time:1 "%username%" Touch on
setx touch_en 1
exit




+ Recent posts