3 minute read

La verdad es que el titular no es exacto. Se pueden simular los gestos más importantes, pero no se puede igualar por las características de cómo trabaja el selector de ventanas de Gnome por ejemplo, aunque se acerca bastante.

Motivación

En mi trabajo uso un Mac y en mi vida privada un Debian, con lo que a veces se me cruzan los cables y hago gestos en mi Linux pensando en el Mac y viceversa.

Solución

La solución pasa por igualar lo más posible los entornos y así ganar comodidad y cordura.

En este caso existe una herramienta que nos aporta dicha solución. Fusuma.

  • Verificar que ruby está instalado en el sistema.
$ ruby -v

ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-linux-gnu]
  • Instalar los paquetes dependientes
$ sudo apt install libinput-tools xdotool
  • Instalar Fusuma
$ sudo gem i fusuma
  • Configurar Fusuma
$ mkdir -p ~/.config/fusuma
$ touch ~/.config/fusuma/config.yml

Abrimos el fichero y configuramos acciones según la cantidad de dedos y la dirección.

swipe:
  3: 
    left: 
      command: 'xdotool key alt+Shift+Tab'
    right: 
      command: 'xdotool key alt+Tab'
    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 key ctrl+plus'
  out:
     command: 'xdotool key ctrl+minus'

threshold:
  swipe: 0.4
  pinch: 0.4

interval:
  swipe: 0.8
  pinch: 0.1
  • Agregamos nuestro usuario al grupo input para que pueda emular acciones de teclado y ratón.
$ sudo gpasswd -a $USER input
  • Probamos la instalación y configuración desde un terminal.

    Si lanzamos fusuma desde la consola, podremos ver el log y si se están detectando y enviando las acciones.

$fusuma

I, [2019-10-27T16:25:26.075898 #11363]  INFO -- : reload config : /home/faparicio/.config/fusuma/config.yml
I, [2019-10-27T16:25:26.075962 #11363]  INFO -- : ---------------------------------------------
I, [2019-10-27T16:25:26.075983 #11363]  INFO -- : Fusuma: 1.2.1
I, [2019-10-27T16:25:26.078584 #11363]  INFO -- : libinput: 1.12.6
I, [2019-10-27T16:25:26.079298 #11363]  INFO -- : OS: Linux 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u1 (2019-09-20)
I, [2019-10-27T16:25:26.079944 #11363]  INFO -- : Distribution: Debian GNU/Linux 10 \n \l
I, [2019-10-27T16:25:26.080630 #11363]  INFO -- : Desktop session: gnome
I, [2019-10-27T16:25:26.080657 #11363]  INFO -- : ---------------------------------------------
I, [2019-10-27T16:25:31.121308 #11363]  INFO -- : {:type=>"swipe", :quantity=>6.59, :quantity_threshold=>4.0}
I, [2019-10-27T16:25:31.121452 #11363]  INFO -- : {:command=>"xdotool key alt+Tab"}
I, [2019-10-27T16:25:32.015333 #11363]  INFO -- : {:type=>"swipe", :quantity=>15.85, :quantity_threshold=>4.0}
I, [2019-10-27T16:25:32.015856 #11363]  INFO -- : {:command=>"xdotool key alt+Shift+Tab"}
I, [2019-10-27T16:25:33.230098 #11363]  INFO -- : {:type=>"swipe", :quantity=>10.95, :quantity_threshold=>4.0}
I, [2019-10-27T16:25:33.230197 #11363]  INFO -- : {:command=>"xdotool key alt+Shift+Tab"}

Y ya probado, podemos agregarlo al inicio de Gnome para que se cargue por defecto usando alguna herramienta como “Aplicaciones al inicio” o similares.

Advertencias

Esta solución sólo funciona con XOrg. No está pensada para Wayland (Por lo menos en el momento de escribir este post).

comments powered by Disqus