- 0x0000007b
- 2차세계대전
- 3.20해킹
- 4대강
- 502 error
- 53빌딩
- 7840hs
- 88체육관 수영장
- ABI
- abortive close
- abortive shutdown
- AHCI
- akmods
- ALC1220
- alma linux
- alternatives
- AM4 메인보드
- AMD
- amd 7840hs
- amd 그래픽 게임용
- amd 내장 그래픽 최적화
- anonymous file
- API
- apple.com
- APT
- apt-get
- Armagnac
- Asrock
- ASTALIFT
- audacious player
- Today / Yesterday
- /
- Total
Linux Programmer
터치패드 켜기/끄기 토글 기능 - Fedora Linux 본문
랩탑(노트북)에는 터치패드를 켜고 끌 수 있는 펑션키가 존재한다. 랩탑의 펌웨어가 펑션키를 표준적인 방법으로 작동시키는 경우라면 윈도, 리눅스 어디서든지 잘 작동한다. 하지만 비표준적인 방법으로 작성된 경우라면 윈도에서만 작동되고, 리눅스에서는 제대로 작동되지 않을 수도 있다.
예를 들어 아래 삼성 갤럭시북3 사진에 보면 F5 펑션키에 터치패드 그림이 그려져 있는 것을 볼 수 있는데, 아쉽게도 리눅스에서 작동되지 않는다. 다시말해 삼성의 갤럭시북3 랩탑의 Fn-F5 키는 윈도에서는 잘 작동하지만, 리눅스에서는 해당 키를 눌러도 아무런 반응이 없다. 따라서 Fn-F5키 대신에 Ctrl-Super-F5를 누르는 방식으로 우회하는 기능을 만들어보자. 참고로 Super는 키보드의 "윈도키"를 말한다.
0. 작업 환경
운영체제 (배포판) | Fedora Linux 38 |
X window 데스크탑 환경 | GNOME40 |
랩탑 모델 | 삼성 갤럭시북3 Pro 14인치 (nt940) |
사용 프로그램 | gsettings, notify-send |
gsettings는 glib2에 속한 바이너리로서 기본으로 설치되어있다. notify-send는 알람을 띄우는 기능으로, 터치패드를 활성화 했는지 비활성화 했는지를 화면에 알람으로 알려주도록 할 것이다.
1. 터치패드 on/off 스크립트 작성
먼저 ${HOME}/bin/ 경로에 toggle-touchpad.sh를 아래와 같은 내용으로 생성하고, 실행권한을 부여하자.
만일 랩탑에 여러 유저 생성해서 사용한다면 모든 유저가 사용할 수 있도록 /usr/local/bin/toggle-touchpad.sh 경로에 스크립트를 저장하자.
#!/bin/bash
# NAME: toggle-touchpad
# PATH: /home/$USER/bin
# NOTE: ref https://askubuntu.com/questions/863746/keyboard-shortcut-to-toggle-enable-disable-laptop-touchpad/863750#863750
set -e
TOUCHPAD_STATUS=$(gsettings get org.gnome.desktop.peripherals.touchpad send-events | tr -d "'\"")
set +e
case $TOUCHPAD_STATUS in
enabled)
echo "[INFO] Disable the touchpad"
gsettings set org.gnome.desktop.peripherals.touchpad send-events disabled
DISPLAY=:0 notify-send --urgency=normal --icon=/usr/share/icons/gnome/256x256/status/user-available.png "Touchpad disabled"
;;
disabled)
echo "[INFO] Enable the touchpad"
gsettings set org.gnome.desktop.peripherals.touchpad send-events enabled
DISPLAY=:0 notify-send --urgency=normal --icon=/usr/share/icons/gnome/256x256/status/user-busy.png "Touchpad enabled"
;;
*)
>&2 echo "[ERR] Unknown touchpad status = $TOUCHPAD_STATUS"
exit 1
;;
esac
exit 0
2. 스크립트 테스트 실행
앞서 작성한 toggle-touchpad.sh shell script가 잘 작동하는지 터미널에서 테스트를 해보자. 방법은 터미널에서 스크립트를 두어번 실행해보면, 트랙패드 on/off가 토글되는 것을 볼 수 있다.
$ ~/bin/toggle-touchpad.sh
...터치패드가 on 상태라면 off가 된다.
$ ~/bin/toggle-touchpad.sh
...터치패드가 off 상태라면 on 된다.
잘 작동하는지 확인했다면 단축키를 지정하자.
3. 단축키 지정
매번 명령을 직접 내리기를 어렵기 때문에 단축키(shortcut)를 지정해서 사용하도록 한다. 앞서 언급한대로 <Ctrl-Super-F5>로 매핑하도록 하겠다. "제어판"에서 "키보드" , "사용자 설정 바로 가기"에서 아래처럼 추가해놓는다.
이제 단축키가 잘 작동하는지 <Ctrl-Super-F5>를 눌러본다.
4. 패치
삼성 갤럭시북3에 대한 키보드 스캔 코드 DB가 만들어졌다. 아래 주소에서 확인할 수 있다.
https://github.com/joshuagrisham/samsung-galaxybook-extras
히스토리
2024-08-11 갤럭시북3 키보드 스캔코드 DB에 관한 내용 추가
2024-01-08 초안
'컴퓨터 관련 > 리눅스 데스크탑' 카테고리의 다른 글
리눅스용 멀티미디어 프로그램 - 유튜브 플레이어, 다운로더 (7) | 2024.07.23 |
---|---|
Audacious 리눅스 & 윈도 MP3 플레이어 (0) | 2024.05.31 |
리눅스에서 커스텀 키보드 펑션키 F11, F12등의 이상 작동 문제 (0) | 2023.10.31 |
GNOME 3 터치패드 추가 제스처 설정 (touchegg) - 2편 (0) | 2023.08.09 |
GNOME 3 터치패드 4손가락 설정 방법 - 1편 (0) | 2023.08.07 |
GNOME3 화면 스케일 125% 150% 175% 조정 (0) | 2023.03.27 |
intel 13th gen (i5-1340p)의 리눅스 화면 끊김, 멈춤 증상 (4) | 2023.02.15 |
Fedora : 구글 크롬 재설정 및 열려있는 탭(tabs) 목록 복원 (0) | 2022.07.25 |