기계식 키보드의 중복 입력 증상, 채터링/바운스를 줄이는 레지스트리 설정

4년차 기계식 키보드, 이상 증상

2015년에 구입한 필코 마제스터치 컨버터블2는 중간에 두어벌의 키캡을 바꿔가며 잘 사용 중입니다.


키를 두드릴 때마다 울리는 찰캉찰캉한 청축 특유의 키감을 좋아하는데다 세벌식 특유의 리듬감있는 타이핑을 하다보면 마치 악기를 다루는 것 같은 즐거움을 주곤 합니다.


아울러 기계식 키보드로서는 드물게 USB 유선 연결과 블루투스 연결을 동시에 지원하는 유무선 키보드라 여러 대의 컴퓨터를 편리하게 전환해 사용할 수 있는 것도 장점입니다.

2015/04/29 - 필코 마제스터치 컨버터블2 키보드 사용기. 기계식 키보드와 블루투스의 편리함


다만 최근들어 전에 없던 증상이 종종 발생하고 있는데, 바로 의도치 않은 키 입력이 연속으로 되는 증상입니다

마제스터치 컨버터블2 기계식키보드


평소와 다름 없는 속도로 키 입력을 하는 중 같은 키가 빠르게 반복적으로 입력되는 증상, 예를 들면 '안녕하세요'를 입력하는 도중에 갑자기 ㅎ이나 ㅇ이 연속으로 빠르게 입력되는 식입니다.

기계식 키보드 채터링 키 바운스

사실 처음에는 블루투스 연결을 통해 키보드를 사용하다보니, 블루투스 입력이 밀리면서 발생하는 증상이 아닐까 생각했는데, 기계식 키보드에서 자주 발생하는 채터링(chattering), 혹은 키 바운스(key bounce) 현상이라고 합니다.


채터링은 기계식 키보드의 키 스위치가 10ms 이내에 스위치의 열림과 닫힘이 수 회 이상 발생하여 문자가 연속으로 찍히게 되는 증상으로, 체리 스위치의 노후화, 혹은 키보드 기판의 문제로 인해 키가 연속으로 눌리는 증상이 발생하는 하드웨어 적인 문제입니다.


키보드를 청소하면 증상이 개선되는 경우도 있고, 제조사에 A/S를 보내어 문제가 되는 스위치나 기판을 교체 받는 식의 조치를 받아야 되는 경우도 있습니다.

체리 청축 기계식 키보드

새 키보드에서 이런 증상이 발생한다면 키보드의 스위치 불량, 혹은 키보드 컨트롤러에서 채터링을 걸러주지 못해 발생한 결함입니다.


레오폴드 700r 키보드의 경우 바운싱, 혹은 디바운싱(입력한 키가 무시되는, 바운싱의 반대 증상)으로 컨트롤러를 교체하는 A/S를 실시한 경우도 있고 일부 키보드는 펌웨어 업데이트를 통해 이런 문제를 해결하기도 합니다.

중복 입력을 걸러내는 레지스트리 설정

사실 4년 밖에(?) 쓰지 않은 키보드에서 채터링이 생기는게 좀 당황스럽긴 한데, 일단 저는 키보드 청소를 한지도 오래되었으니 조만간 청소를 한 뒤 증상을 확인해 보려고 합니다.


다만 키보드 청소나 키 스위치 교체 등의 작업 전에 키보드 레지스트리 수정을 통해 중복 입력되는 증상을 걸러내 보기로 했습니다.


먼저 윈도우 설정 - 접근성 - 키보드 메뉴에 들어오면 보이는 [필터 키 사용] 항목이 이렇게 빠르게 잘못 입력되는 키입력을 걸러주는 역할을 합니다.

2010/01/27 - 키보드가 느려졌다고 때리지 마세요 - 고정키, 필터키

윈도우10 필터 키 사용

하지만 필터키 설정을 이용할 경우, 의도적인 키 연속 입력 동작 역시 제대로 작동하지 않습니다.


화살표 키를 연속으로 눌러 커서를 움직인다거나 DEL 키를 연속으로 눌러 잘못 입력한 내용을 지우려는 등의 작업도 제대로 안됩니다.


아울러 제가 사용 중인 세벌식 자판은 자음을 두 번 눌러 복자음을 입력해야 하는데, 평소 누르는 속도대로 자음을 두 번 누르면 두 번째 키가 차단되어 복자음 입력을 할 수 없는 등 매우 불편합니다.


[필터 키 사용] 메뉴를 이용하는 대신 레지스트리 편집기를 이용하면 보다 유연하게 설정을 할 수 있습니다.

윈도우 + R키를 누른 뒤 regedit 를 입력한 후 [확인] 버튼을 클릭해 레지스트리 에디터를 실행합니다.

레지스트리 에디터 실행


레지스트리 편집기가 실행되면 왼쪽 목록에서 \HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Response 키를 순서대로 클릭해 \Keyboard Response 섹션을 엽니다.

Keyboard Response 레지스트리

일단 이 섹션에서 가장 중요한 항목은 BounceTime 항목으로, 이 항목에 지정한 시간 안에 같은 키가 중복 입력되면 이를 걸러냅니다.


저는 30, 60, 100 등의 숫자를 순서대로 입력, 부팅하면서 확인해 봤고, 80정도면 평소 키를 누르면서 연속 입력할 때의 느낌과 큰 차이가 없으면서 바운스 현상이 거의 없어졌다 싶을 만큼의 효과를 느낄 수 있었습니다.


그리고 

  • AutoRepeatDelay(키를 누르고 있을 때 이 항목에서 설정한 시간 이후 반복 입력을 시작. 값이 작을 수록 반복입력이 빨리 시작됨)
  • AutoRepeatRate(각 반복 입력마다 시간 간격. 값이 작을 수록 반복 입력이 빨라짐)

항목은 각각 300으로 설정했습니다.


참고로 윈도우10의 \HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Response 레지스트리 값은 [필터키 사용]의 각 항목과 연결된 설정들입니다.

Keyboard Response 레지스트리와 필터키 제어판 설정

마이크로소프트 포럼의 윈도우7의 필터키 설정 관련 게시물에서는 \Keyboard Response 항목 하단의 Last... 키와 연결되어 있다고 하는데, 제가 사용 중인 윈도우10 에서는 상단의 값들과 연결되어 있었습니다.


아무튼 저는 몇 번의 설정과 재부팅을 반복 시험했고 현재(당분간)는 다음 설정으로 사용 중입니다.

키바운스는 줄이고 의도적인 반복속도도 확보한 키보드 레지스트리 설정
AutoRepeatDelay300
AutoRepeatRate300
BounceTime80
DelayBeforeAcceptance0
Flags30
LastValidWait0

그리고 윈도우10에 로그인 하기전, 비밀번호 입력 화면에서 키가 연속으로 입력되면서 오류가 자주 발생한다면 \HKEY_USERS\.DEFAULT\Control Panel\Accessibility\Keyboard Response 항목의 값을 바꿔주면 됩니다.

로그인 화면 키 입력 오류 수정


그리고 \HKEY_USERS\.DEFAULT\Control Panel\Keyboard 항목의 KeyboardDelay 항목값도 0으로 설정해 사용 중입니다.

KeyboardDelay 레지스트리

사실 키 입력이 연속으로 잘못 입력되는 키 바운스 현상을 줄이려면, 딜레이값을 늘리고 반복 속도를 낮추는 등 전체적인 반응속도를 낮추는게 맞지만 그렇게 설정하면 복자음 입력이나 커서 이동 등의 작업마저 매우 불편해지다보니 복합적으로 설정했습니다.


아울러 저는 키 바운스 증상 뿐 아니라 누르는 문자가 실시간으로 뜨지 않고 밀려 표시되는 딜레이 증상도 종종 겪고 있는터라, 앞서 언급한 키 스위치의 이상뿐 아니라 데스크톱 PC에서 재활용중인 AC8260 랜카드(블루투스 카드)의 이상 여부 역시 점검해야 하는 상황입니다.


키 바운스, 키 입력 지연 등 성격이 다른 증상을 좀 더 상세하게 나누어 정리할 필요가 있는데다 키 바운스 증상 역시 좀 더 상세한 확인이 필요한 만큼, 이후 추가 포스팅을 통해 진행 상황을 공유하겠습니다.


이 글을 공유하기

댓글 :: 질문 댓글은 공개글로 달아주세요. 특별한 이유없는 비밀 댓글에는 답변하지 않습니다

Designed by JB FACTORY