๐ก ๋ณธ ๋ฌธ์๋ 'Fusuma ํฐ์นํจ๋ ๋ฐ ํธ๋ํจ๋ ํ์ฉํ๊ธฐ(feat. Mac ํฐ์นํจ๋)'์ ๋ํด ์ ๋ฆฌํด๋์ ๊ธ์ ๋๋ค.
Ubuntu์์ ํฐ์นํจ๋๋ฅผ Mac์ฒ๋ผ ํ์ฉํ๊ธฐ ์ํ ํด์ธ Fusuma์ ๊ธฐ๋ณธ ์ค์ ์ ๋ํด ์ ๋ฆฌํ์์ผ๋ ์ฐธ๊ณ ํ์๊ธฐ ๋ฐ๋๋๋ค.
1. Fusuma ํ๊ฒฝ ์ค์
1) ํฐ์นํจ๋ ์ฅ์น๋ฅผ ์ฝ๊ธฐ ์ํ ๊ถํ ์ค์
์ค์: Fusuma ๋ฅผ ํตํด touchpad ์ ๋ ฅ์ ๋ฐ์ผ๋ ค๋ฉด ๋ฐ๋์ INPUT ๊ทธ๋ฃน์ ๋ฉค๋ฒ์ฌ์ผ ํฉ๋๋ค.
$ sudo gpasswd -a $USER input
์ด์ ํด๋น ์ฌํญ์ ์ ์ฉ ์ํค๊ธฐ ์ํด์๋ logout์ ํ๊ฑฐ๋ ์ฌ๋ถํ ์ ํ๋ฒ ํด์ฃผ์ธ์.
$ newgrp input
2) Fusuma ์ค์น ๋ฐ ์คํ
Fusuma๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ํจํค์ง๋ฅผ ์ค์นํฉ๋๋ค.
$ sudo apt install libinput-tools ruby xdotool -y
$ sudo gem install fusuma
Fusuma๋ฅผ ์คํํฉ๋๋ค.
$ fusuma
WARN -- : config file: /home/sjchoi/.config/fusuma/config.yml is NOT FOUND
...
config file์ด ๋ฐ๊ฒฌ๋์ง ์์๋ค๊ณ ๋์ต๋๋ค. ์ค์ ํ์ผ์ ๋ง๋ค์ด ์ฃผ์ด์ผ ๊ฒ ๋ค์.
$ mkdir -p ~/.config/fusuma
$ vi ~/.config/fusuma/config.yml
2. ํฐ์นํจ๋ ์ค์ ํ๊ธฐ (feat. Mac ํฐ์นํจ๋ ์ค์ )
1) Ubuntu ์ ์ค์ฒ ๋งคํ ์์
swipe:
3:
left:
command: 'xdotool key alt+Right'
right:
command: 'xdotool key alt+Left'
up:
command: 'xdotool key super'
down:
command: 'xdotool key super'
4:
left:
command: 'xdotool key ctrl+alt+Down'
right:
command: 'xdotool key ctrl+alt+Up'
up:
command: 'xdotool key ctrl+alt+Down'
down:
command: 'xdotool key ctrl+alt+Up'
pinch:
in:
command: 'xdotool keydown ctrl click 4 keyup ctrl'
out:
command: 'xdotool keydown ctrl click 5 keyup ctrl'
hold:
4:
command: 'xdotool key super' # Activity
์ฐธ๊ณ : Ubuntu ์ ์ค์ฒ ๋งคํ ์์: https://github.com/iberianpig/fusuma/wiki/Ubuntu
2) Mac๊ณผ ์ ์ค์ฒ ํต์ผ์ํค๊ธฐ
swipe:
3:
left:
command: "xdotool key alt+Right" # History forward
right:
command: "xdotool key alt+Left" # History back
begin:
command: xdotool mousedown 1
update:
command: xdotool mousemove_relative -- $move_x, $move_y
interval: 0.01
accel: 2
end:
command: xdotool mouseup 1
4:
up:
command: "xdotool key super" # Activity
down:
command: "xdotool key super" # Activity
left:
command: "xdotool key ctrl+alt+Down" # Switch to next workspace
right:
command: "xdotool key ctrl+alt+Up" # Switch to previous workspace
pinch:
2:
in:
command: "xdotool keydown ctrl click 4 keyup ctrl"
out:
command: "xdotool keydown ctrl click 5 keyup ctrl"
threshold:
swipe: 0.5
pinch: 0.3
interval:
swipe: 0.5
pinch: 0.5
์ฐธ๊ณ : Ubuntu OS to mimic Mac a little: https://github.com/iberianpig/fusuma/wiki/Ubuntu-OS-to-mimic-Mac-a-little
Feature
๊ฐ ๊ธฐ๋ฅ์ ๋ํด ์ค๋ช ํ๋ฉฐ command: ํ๋กํผํฐ๋ฅผ ํตํด ํฐ์นํจ๋๋ก ํ๋ ๊ธฐ๋ฅ(Key Command)์ ๋ช ์ํฉ๋๋ค. ์ฌ๊ธฐ์ command: ํ๋กํผํฐ๊ฐ ๋น์ด ์์ผ๋ฉด, swipe๋ pinch๋ ์ด๋ค ์ปค๋งจ๋๋ ์ํํ์ง ์์ต๋๋ค.
์๊ฐ๋ฝ 3๊ฐ๋ก ๋๋๊ทธํด์ ์ฐฝ ์์ง์ด๊ธฐ (Fusuma ๋ฒ์ 2 ์ด์)
swipe:
3:
begin:
command: xdotool mousedown 1
update:
command: xdotool mousemove_relative -- $move_x, $move_y
interval: 0.01
accel: 2
end:
command: xdotool mouseup 1
์๊ฐ๋ฝ 3๊ฐ ๋๋๊ทธ๋ก ๋ค๋ก๊ฐ๊ธฐ/ ์์ผ๋ก๊ฐ๊ธฐ
swipe:
3:
left:
command: "xdotool key alt+Right" # History forward
right:
command: "xdotool key alt+Left" # History back
์๊ฐ๋ฝ 4๊ฐ ์,์๋๋ก superํค. ๋งฅ์์์ ๋ฏธ์ ์ปจํธ๋กค์ ๋์ฒด
4:
up:
command: "xdotool key super" # Activity
down:
command: "xdotool key super" # Activity
์๊ฐ๋ฝ 4๊ฐ ์ข,์ฐ ์ด๋์ผ๋ก ์ํฌ์คํ์ด์ค ๋ณํ
4:
left:
command: "xdotool key ctrl+alt+Down" # Switch to next workspace
right:
command: "xdotool key ctrl+alt+Up" # Switch to previous workspace
๋์๊ฐ๋ฝ pinch ํ๋/์ถ์
pinch:
2:
in:
command: "xdotool keydown ctrl click 4 keyup ctrl"
out:
command: "xdotool keydown ctrl click 5 keyup ctrl"
Threshold ์ Interval
- threshold: swipe๋ pinch์ ๋ฏผ๊ฐ๋๋ฅผ ์๋ฏธํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 1๋ก, ๋ง์ฝ swipe์ thradhold๊ฐ 0.5๋ผ๋ฉด ๋ฐ์์ ์์ํ๋ swipe์ ๊ธธ์ด๊ฐ ์ ๋ฐ์ผ๋ก ์งง์์ง๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
- interval: wsipe์ pinch ์ฌ์ด์ ๋๋ ์ด๋ฅผ ์๋ฏธํฉ๋๋ค. ๊ธฐ๋ณธ ๊ฐ์ ์ญ์ 1 ์ ๋๋ค. ๋ง์ฝ swipe์ interval์ด 0.5๋ผ๋ฉด ๋ค์ swipe๋ฅผ ์ธ์ํ ๋๊น์ง์ ์ธํฐ๋ฒ์ด ์ ๋ฐ์ผ๋ก ์งง์์ง๋๋ค.
- swipe: ๊ฐ์ธ์ ์ผ๋ก 1์ ๋๋ฌด ๊ธธ๋ค๊ณ ๋๊ปด์ ธ์ ํ์คํ ์ค์ฌ์ผ ํ ํ์๊ฐ ์์์ต๋๋ค.
- pinch: pinch์ ์ธํฐ๋ฒ๋ ์ค์ด์ง ์์ผ๋ฉด ์ ๋ง ๋ต๋ตํฉ๋๋ค.
Fusuma ์ค์ ์ ์ฉ(~/.config/fusuma/config.yml)
๊ธฐ๋ณธ์ ์ผ๋ก ~/.config/fusuma/config.yml ํ์ผ์ ์ค์ ํ ์ดํ fusuma๋ฅผ ์คํํด์ผ ํด๋น ์ค์ ์ด ์ ์ฉ๋๋ฉฐ, ์คํ๋์ด ์๋ ํ์์ ํธ๋ํจ๋๋ก ํด๋น ์ค์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์ fusuma ์ปค๋ฉ๋๋ฅผ ์ด์ฉํ๋ฉด ์คํ์ํฌ ์ ์์ผ๋ฉฐ -d ์ต์ ์ ์ฃผ์ด ๋ฐ๋ชฌ์ผ๋ก ์คํ๊ฐ๋ฅํฉ๋๋ค.
$ fusuma -d
์ด๋ ํฐ์นํจ๋๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋งค๋ฒ log-in ํน์ ์ ์์ ํค๊ณ fusuma๋ฅผ ์ผ์ฃผ๋ ์์ ์ด ํ์ํฉ๋๋ค. ๋ฐ๋ผ์ gnome-session-properties๋ฅผ ์ด์ฉํด์ ์๋์ผ๋ก ์คํ์์ผ๋๋ ๊ฒ์ด ํ์ํฉ๋๋ค.
3. ์๋์คํ (gnome-session-properties)
fusuma ์คํํ์ผ ์์น ํ์ธ
$ which fusuma
/usr/local/bin/fusuma
gnome-session-properties ์คํ
๋ค์์ ์ปค๋ฉ๋๋ฅผ ์ ๋ ฅํ์ฌ ์คํํ ํ Add ๋ฅผ ํด๋ฆญํ์ฌ fusuma๋ฅผ ์ถ๊ฐํด์ค๋๋ค. ๋ง์ง๋ง์ -d๋ฅผ ์ถ๊ฐํด์ค๋ค๋ฉด ์๋์ผ๋ก ๋ฐ๋ชฌ์ผ๋ก ์คํ๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
$ gnome-session-properties
์ฐธ๊ณ
[Blog] Ubuntu) ํฐ์นํจ๋ ๋ฐ ํธ๋ํจ๋ ํ์ฉํ๊ธฐ Fusuma: https://shanepark.tistory.com/257