8BitDo Retro Mechanical Keyboard — Linux 레이아웃 설정기
Alexandra Zaharia의 글(2023-12-30). 공식 소프트웨어가 Windows 전용인 8BitDo Retro Mechanical Keyboard(N 에디션)를 Linux에서 쓸 만한 레이아웃으로 만든 과정 정리. AI 도메인 밖이지만
xmodmap·pactl기반 Linux 키 리매핑의 실전 레시피로 보관한다.
키보드 개요
레트로 게이밍 미학의 외관, PBT 키캡, Kailh box white 스위치, 볼륨 노브, 자석식 USB 동글, 두 개의 큰 빨간 버튼이 달린 “dual pad”가 특징. 유선 / 2.4GHz 동글 / 블루투스 연결을 지원한다.
아쉬운 점:
- dual pad는 3.5mm 잭으로 키보드에 물리적으로 연결해야 함
- 소프트웨어 품질이 나쁨
- 블루투스 연결 시 일부 매크로가 제대로 동작하지 않음
- 블루투스 모드에서는 한 번에 한 기기에만 페어링 가능
목표
기본 상태에서는 키보드의 A/B 추가 키와 dual pad의 큰 버튼이 어떤 키코드도 내보내지 않는다(xev로 확인). 하고 싶었던 것:
- 키보드
B버튼 → Menu(컨텍스트 메뉴) 키 - 키보드
A버튼 → Play/Pause (Spotify 등 연동) - dual pad 큰
B→ 화면 잠금 매크로(Ctrl + Alt + L) - dual pad 큰
A→ 사용자 비밀번호 + 줄바꿈 입력 - 오른쪽으로 돌려도 동작하지 않던 볼륨 노브 “고치기”
소프트웨어
8BitDo Ultimate Software V2는 Windows 전용. wine/lutris로는 실행 실패해서 VirtualBox에 Windows를 설치해 사용. USB passthrough가 Windows 10 VM에서는 동작하지 않아 Windows 11을 설치(하드웨어 체크 우회용 레지스트리 편집 필요).
키 매핑
펌웨어 업데이트 후 새 프로파일에서 매핑 가능:
- Super Button 1(키보드 “A”) →
Shortcut→Play/Pause. 다른 화면에서 재생 중이어도 YouTube/Spotify에서 잘 동작. - Super Button 2(키보드 “B”) →
Shortcut→Mail(나중에 Linux에서 재매핑하기 위한 트릭). - dual pad가 하나뿐이면 키보드의
X포트에 꽂아야만 인식됨(포트는A/B/X/Y4개지만 단일 패드는X만 동작). - dual pad 두 버튼에는 각각 화면 잠금 / 비밀번호 입력 매크로 할당.
Linux 측 조정
키 재매핑 (xmodmap)
소프트웨어가 Menu 키를 매핑 옵션으로 제공하지 않으므로, 절대 안 쓸 Mail 단축키로 매핑해 두고 나중에 xmodmap으로 바꾸는 우회법을 사용한다.
xmodmap -pke > ~/.xmod생성된 ~/.xmod에서 XF86Mail의 키코드 163을 찾아 ~/.Xmodmap에 추가:
keycode 163 = Menu로드:
xmodmap ~/.Xmodmap이제 빨간 B 버튼이 Menu 키로 동작한다.
볼륨 업 노브 고치기
볼륨 다운은 정상인데 업이 동작하지 않던 문제는, 노브를 오른쪽으로 돌릴 때 pactl로 볼륨을 올리도록 Xfce 키보드 단축키에서 처리. XF86AudioRaiseVolume “키”에 다음 명령을 연결:
pactl set-sink-volume @DEFAULT_SINK@ +5%자잘한 실패들
- 공장 초기화: 소프트웨어가 중국어로 에러를 내며 프로파일조차 못 보게 잠겨버림(dual pad 매크로를 임의로 삭제). 문서화되지 않은 복구법 — 둥근 버튼 3개(pair, fast mapping, profile)를 몇 초간 함께 눌러 공장 초기화.
- 블루투스 매크로 깨짐: 비밀번호 입력 매크로가 블루투스에서 일부 키 입력을 반복함. 유선/2.4GHz 동글에서는 완벽 — 키 입력 간 딜레이가 블루투스 딜레이와 안 맞는 것으로 추정.
결론
커스터마이즈 여지가 상당한 좋은 키보드지만 소프트웨어가 약점. 핵심 교훈은 소프트웨어에서 직접 못 하는 매핑은 안 쓰는 키코드로 우회한 뒤 Linux(xmodmap/pactl) 측에서 마무리한다는 패턴이다.