ioerror

xmodmap 사용법 및 옵션 - zX 윈도우 시스템 키보드 키 매핑 및 마우스 버튼 재설정 본문

OS

xmodmap 사용법 및 옵션 - zX 윈도우 시스템 키보드 키 매핑 및 마우스 버튼 재설정

반응형

xmodmap 사용법 및 옵션 - zX 윈도우 시스템 키보드 키 매핑 및 마우스 버튼 재설정

xmodmap - X modify map

X 윈도우 시스템 키보드 키 매핑 및 마우스 버튼 재설정

xmodmap 명령어는 X 윈도우 시스템(X11) 환경에서 키보드의 키코드(Keycode), 키심(Keysym) 및 모디파이어(Modifier) 테이블과 마우스 포인터 버튼 매핑을 조회하고 수정하는 기본 유틸리티이다. 특정 키의 기능을 변경하거나(예: Caps Lock을 Control 키로 변경), 마우스 왼손잡이용 버튼 재설정, 사용자 지정 키보드 레이아웃 적용 시 활용된다.

1. 명령어 용도

  • 사용가능 OS: X Window System(X11)을 사용하는 모든 유닉스 및 리눅스 시스템
  • Caps Lock 키를 Control 키나 Esc 키로 변경하여 프로그래밍 생산성을 높이는 경우
  • 손상되거나 작동하지 않는 키보드 키를 다른 미사용 키로 재매핑하여 대체하는 경우
  • 마우스의 왼쪽/오른쪽 버튼 설정을 반전하여 왼손잡이용 환경을 구성하는 경우
  • 로그인 시 설정 파일(~/.Xmodmap)을 자동으로 로드하여 커스텀 단축키 환경을 유효화하는 경우

2. 명령어 서식

Bash
 
xmodmap [options] [filename]

3. 명령어 옵션

  • 주요 옵션 소개 테이블
옵션 설명 사용가능 OS 및 쉘
-display display 접속하여 제어할 X 서버 디스플레이 호스트 및 번호를 지정하다. [X11/Linux]
-e expression 실행할 키 매핑 표현식(expression) 문장을 직접 전달하여 적용하다. [X11/Linux]
-pk 현재 X 서버에 등록된 키코드(keycode) 및 키심(keysym) 테이블을 출력하다. [X11/Linux]
-pke 현재 키코드 맵을 xmodmap 스크립트 표현식 형식으로 출력하다. [X11/Linux]
-pm 현재 설정된 모디파이어(Shift, Control, Alt 등) 매핑 테이블을 출력하다. [X11/Linux]
-pp 현재 마우스 및 포인터 버튼의 재매핑 상태를 출력하다. [X11/Linux]
-n 매핑을 실제 변경하지 않고 입력된 표현식 구문의 평가 결과만 확인하다. [X11/Linux]
-verbose 명령 실행 과정의 상세 분석 메시지를 출력하다. [X11/Linux]
-quiet 오류 메시지를 제외한 기본 안내 메시지 출력을 억제하다. [X11/Linux]
-grammar xmodmap 스크립트 표현식 작성 시 사용 가능한 문법 도움말을 출력하다. [X11/Linux]
-help 명령어 사용법 및 옵션 요약 정보를 출력하고 종료하다. [X11/Linux]
-version 명령어의 버전 정보를 출력하고 종료하다. [X11/Linux]
  • 명령어 옵션 사용시 결과 예시
Bash
 
# 1. 현재 모디파이어(Shift, Control, Alt 등) 매핑 상태 조회
xmodmap -pm
# output:
# xmodmap:  up to 4 keys per modifier, exit comment character is #
#
# shift       Shift_L (0x32),  Shift_R (0x3e)
# lock        Caps_Lock (0x42)
# control     Control_L (0x25),  Control_R (0x69)
# mod1        Alt_L (0x40),  Alt_R (0x6c),  Meta_L (0xcd)

# 2. Caps Lock 키를 Control 키로 변경하는 표현식 전달 (-e)
xmodmap -e "clear Lock" -e "keysym Caps_Lock = Control_L" -e "add Control = Control_L"
# output: Caps Lock 키가 왼쪽 Control 키 기능으로 재매핑되다.

# 3. 마우스 왼손잡이용 설정 (버튼 1과 3의 위치 교체)
xmodmap -e "pointer = 3 2 1"
# output: 왼쪽 클릭과 오른쪽 클릭 기능이 서로 반전되다.

# 4. 저장된 사용자 키맵 파일(~/.Xmodmap) 일괄 로드
xmodmap ~/.Xmodmap
# output: ~/.Xmodmap 파일 내의 모든 매핑 명령어 구문이 시스템에 적용되다.

4. 명령어 특이사항(유의사항)

  • Wayland 디스플레이 서버 미지원: xmodmap은 기존 X11 전용 유틸리티이므로, 최신 Wayland 기반 세션(GNOME/KDE 기본)에서는 동작하지 않거나 무시된다. Wayland 환경에서는 setxkbmap 또는 환경설정 UI를 활용해야 하다.
  • 휘발성 설정: 터미널에서 xmodmap -e로 적용한 설정은 X 세션이 재부팅되거나 로그아웃되면 초기화된다. 영구 적용을 위해서는 ~/.Xmodmap 파일에 저장하고 ~/.xinitrc 또는 자동 시작 스크립트에 xmodmap ~/.Xmodmap을 등록해야 하다.
  • xev와의 조합: 특정 키의 키코드(Keycode) 값을 정확히 확인하려면 먼저 xev 명령어를 실행하여 해당 키를 누른 뒤 반환되는 Keycode 번호를 파악해야 하다.

관련 명령어들

  • xev: 키보드 누름 및 마우스 클릭 이벤트 시 발생하는 키코드와 키심 정보를 실시간 감지하다.
  • setxkbmap: XKB(X Keyboard Extension) 확장 체계를 사용하여 전체 키보드 레이아웃 및 옵션을 구성하다.
  • xprop: X 서버에 표시된 윈도우 창의 속성 및 클래스 정보를 확인하다.
  • xcape: 키를 누르고 있을 때와 단독으로 누를 때 서로 다른 동작을 수행하도록 키 매핑을 확장하다.

https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference

 

UNIX & Linux Command Reference

유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하

ioerror.tistory.com

 

반응형
Comments