[Debian] Émuler le clic du milieu sur Logitech K400+

Il sert à quoi ce troisième bouton ?

J’aime beaucoup le Logitech K400+ qui combine sur un seul périphérique clavier et souris. Sous Linux (Debian) il présentait un défaut majeur cependant : il n’a que deux boutons sur la souris. Or je fais régulièrement usage du troisième bouton dans au moins trois cas :

  • Pour coller le dernier texte sélectionné,
  • Pour minimiser une fenêtre avec un clic du milieu sur son titre,
  • Ou pour ouvrir un lien dans un nouvel onglet.

Que faire quand on a pas de troisième bouton ?

Heureusement, c’est assez simple d’émuler un clic du milieu lorsque les deux boutons sont pressés simultanément avec l’utilitaire xinput.

Une fois l’utilitaire installé, vous pouvez lister vos périphériques avec :

xinput list

Ce qui devrait vous renvoyer un résultat de type

⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜ ↳ …
⎜ ↳ Logitech K400 Plus id=10 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ …
↳ Logitech K400 Plus id=11 [slave keyboard (3)]

On voit donc ici que la souris (pointer) est identifiée avec le numéro 10. On peut alors lister les propriétés supportées par le périphérique :

xinput list-props 10

Le résultat affiche (entre autres) la ligne suivante :

libinput Middle Emulation Enabled (297):    0

Il suffit alors d’activer l’émulation du bouton du milieu avec :

xinput set-prop 10 "libinput Middle Emulation Enabled" 1

Un appui simultané sur les deux boutons devrait maintenant vous permettre coller du texte, ouvrir un onglet ou réduire une fenêtre en cliquant sur ton titre.

Comment rendre cette modification pérenne ?

Vous constaterez que le paramétrage proposé plus haut ne résiste pas à un redémarrage. Il y a plusieurs solutions pour rendre la modification pérenne. La plus simple, je trouve, consiste à créer un fichier .gnomerc dans votre home, et y mettre les lignes de paramétrage :

xinput set-prop 10 "libinput Middle Emulation Enabled" 1

Évidemment, si vous n’êtes pas sous l’environnement Gnome, il faudra trouver une autre solution comme la modification de votre xorg.conf (cf. le lien plus pas dans le sources).

Et pour aller plus loin ?

Si vous souhaitez changer d’autres paramètres sur votre clavier ou souris Logitech sans fil, l’utilitaire Solaar, disponible sous forme de package Debian, vous permettra peut-être d’en faire la modification (par exemple, choisir si par défaut ce sont les touches multimédia ou les touches F1-F12 qui sont activées). L’utilitaire vous permettra aussi de modifier les associations avec le dongle sans fil Logitech Unifying Receiver.

Bon clic !


Sources : cette réponse sur askubuntu.
Photo : erenumerique.fr

[Réflexion] Brain Errors : êtes-vous vraiment libre de vos décisions ?

J’ai découvert récemment le site Brain Errors. Le site (en anglais) présente 12 biais cognitifs qui démontrent l’influence du contexte sur nos choix.

Pour chaque exemple, le site vous présente une histoire, vous pose une question, puis vous situe par rapport à un panel de répondants (par exemple, 70% des gens répondent A, 30% répondent B). Il vous présente aussi une histoire alternative, très proche, et l’impact sur la répartition des répondants. En général la répartition est très différente et ouvre les yeux sur ces fameux « biais cognitifs » : un raisonnement purement rationnel devrait amener à une répartition équivalente, mais d’autres effets jouent (effet de cadrage, effet d’ancrage, biais des coûts irrécupérables, etc.). On retrouve une description de ces effets sur la Wikipédia.

Un exemple qui m’a particulièrement plu :

  • « Imaginez que vous avez décidé de voir un film, et payé 10€ pour l’entrée. Au moment de rentrer dans la salle vous réalisez que vous avez perdu le ticket. Le ticket n’étant pas nominatif, vous ne pouvez pas demander une réédition du ticket. Achetez-vous un nouveau ticket à 10€ ? ». Les répondants sont environ à 50-50.
  • Voici une variante : « Imaginez que vous avez décidé de voir un film, et vous vous apprêtez à payer 10€ pour l’entrée. En ouvrant votre portefeuille vous réalisez que vous avez perdu un billet de 10€. Achetez-vous quand même un ticket à 10€ ? ». Avec cette histoire un peu différente, on obtient 88% de oui.

Il s’agit là du biais des coûts irrécupérables : un ticket de cinéma perdu vous donne l’impression de payer 20€ votre deuxième place, alors qu’un billet de 10€ perdu est vu comme un événement distinct… alors que la perte financière est la même !

Le site (et les articles Wikipédia cités) ouvre donc les yeux sur ces biais, et nous permet potentiellement de les atténuer. Il est très difficile de complètement s’en affranchir, mais en prendre conscience est un bon début !


Photo by Raquel Martínez on Unsplash

[Android] TowerJumper, un petit jeu d’agilité au bout des doigts

Saurez-vous éviter les plaques foncées et arriver en bas du cylindre ?

Les meilleurs jeux sont simples à apprendre et difficiles à maîtriser.

All the best games are easy to learn and difficult to master – Nolan Bashnell

TowerJumper, voilà un petit jeu qui répond parfaitement à ce principe proposé par le créateur de Pong.

Vous êtes une petite balle de… peinture (?)… et vous devez descendre le long d’un cylindre en passant au travers de plaques fendues. Les zones claires vous font rebondir, les zones sombres vous font vous écraser… et recommencer au début du niveau. Voilà : à quelques subtilités près¹, vous savez tout.

Le contrôle du jeu est hyper simple, et très adapté à un smartphone. Glissez votre doigt latéralement sur l’écran pour faire tourner le cylindre, la balle elle reste toujours dans le même plan vertical². C’est même jouable à une seule main.

Pour couronner le tout, le jeu est libre, et totalement respectueux de votre vie privée : pas de publicité et sans aucune autorisation particulière demandée.

Vous pouvez le télécharger sur le Google Store, ou mieux, sur F-Droid.


Notes

  1. Lorsque vous passez au travers de plus de deux fentes sans rebondir, vous pouvez vous permettre d’atterrir sur de la couleur. Votre vitesse fera éclater la plaque et vous rebondirez quoi qu’il arrive.
  2. En fait la balle bouge, mais en même temps que la caméra. Ça change pas grand chose par rapport à ma description si ce n’est que la trainée derrière la balle ne reste pas verticale.

[Yunohost] Automatiser les sauvegardes à j-1, j-7 et j-30

Yunohost est une super solution d’auto-hébergement, j’y reviendrai. Et qui dit auto-hébergement dit responsabilité. En particulier la responsabilité de ne pas perdre de données, en cas de panne matérielle pour ne citer qu’un exemple.

Yunohost propose une solution simple pour lancer une sauvegarde depuis l’interface d’administration, mais ça demande donc un geste manuel. Alors autant automatiser tout cela.

J’ai créé un petit script pour effectuer des sauvegardes automatiques. Mon script supprime les anciennes sauvegardes en conservant certaines versions : la veille, l’avant veille, le dimanche précédent, le premier du mois, et le premier du mois précédent.

#!/bin/bash

# Creates a backup and removes some of the previous backups
# Backups are created with the following prefix
PREFIX="automatic-"
# All backups with the previous prefix are deleted except the following dates
TODAY=`date '+%Y-%m-%d'`
YESTERDAY=`date -d "yesterday" '+%Y-%m-%d'`
DAY_BEFORE_YESTERDAY=`date -d "2 days ago" '+%Y-%m-%d'`
LAST_SUNDAY=`date -d "last Sunday" '+%Y-%m-%d'`
BEGINNING_OF_MONTH=`date '+%Y-%m-01'`
BEGINNING_OF_LAST_MONTH=`date -d "last month" '+%Y-%m-01'`

yunohost backup create -n $PREFIX$TODAY
cd /home/yunohost.backup/archives
rm `ls | grep $PREFIX | grep -v "$TODAY\|$YESTERDAY\|$DAY_BEFORE_YESTERDAY\|$LAST_SUNDAY\|$BEGINNING_OF_MONTH\|$BEGINNING_OF_LAST_MONTH"`
yunohost backup list

Vous pouvez déposer ce script dans le répertoire /etc/cron.daily et il s’exécutera tous les jours. Il devrait aussi vous envoyer un mail tous les jours pour vous permettre de constater que le script fonctionne.

Ce script devrait donc vous fournir un premier niveau de protection en cas de perte de données. Je vous invite toutefois à deux précautions supplémentaires :

  • testez régulièrement vos sauvegardes pour s’assurer qu’il est possible de les restaurer (avec une machine virtuelle, c’est super simple et rapide à faire) ;
  • rapatrier les sauvegardes régulièrement sur un autre serveur, si possible délocalisé (chez un ami de confiance, chez vos parents, chez un hébergeur…) pour pouvoir les récupérer en cas de gros pépin (incendie, cambriolage, etc.)

J’espère que ceci vous aidera à minimiser l’impact d’un futur problème…


Souces : mon post sur le forum de Yunohost.
Photo by Samuel Zeller on Unsplash

[Debian] Perte du réseau après une mise en veille

Je n’avais pour ainsi dire jamais mis en veille mon PC fixe, je préférais le laisser allumer ou l’éteindre. Récemment, je me suis mis à plus l’utiliser, mais mon ordinateur perd le réseau en sortie de veille. C’est assez désagréable.

Le problème venait en fait d’un driver qui n’était pas rechargé après la mise en veille.

Identifier le driver

Pour connaître le driver de votre carte réseau, je vous conseille de passer par lshw (que vous aurez probablement besoin d’installer).

lshw -c network

Vous devriez voir dans le résultat une ligne de type

   configuration: […] driver=sky2 […] speed=1Gbit/s

Dans ce cas, de driver de ma carte est donc sky2.

Charger manuellement le driver après une perte de réseau

Quand le réseau ne marche plus, après une mise en veille, vous pouvez tester un changement manuel du pilote (à adapter évidemment selon le pilote trouvé au paragraphe précédent) :

modprobe sky2

Si cela fonctionne, il reste à automatiser ce geste

Charger automatiquement le driver au retour de la veille

Pour ce faire, créer un petit script exécutable qui se chargera de décharger et recharger proprement le driver :

!/bin/sh
 case "$1" in
   pre)
     modprobe -r sky2
     ;;
   post)
     modprobe sky2
     ;;
 esac

Pour finir, mettez ce script dans le répertoire /lib/systemd/system-sleep.

Voilà qui devrait fonctionner automatiquement en sortie de veille… problème résolu.


Sources : le script et la documentation de systemd.
Photo by rawpixel on Unsplash