Xorg

De Banane Atomic
Révision datée du 31 décembre 2017 à 13:54 par Nicolas (discussion | contributions) (→‎Clavier)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigationAller à la recherche

Installation

L'installation du pilote nvidia installe déjà tous les paquets nécessaires.
Bash.svg
pacman -S xorg-server
# Les paquets xorg-xinit xorg-utils xorg-server-utils ne semblent pas nécessaires

Pilote NVIDIA

Bash.svg
# Installation → redémarrer après l'installation
pacman -S nvidia

# test si le module nvidia a bien été chargé ou si c'est un autre module qui a été chargé
lsmod | egrep "nouveau|nvidia|vesa"

Enabling Pure Video HD (VDPAU)
Si l'utilisation de VDPAU rend les vidéos flash bleu, il faut désactiver l'accélération matériel dans les options flash.

Le fichier de configuration ne semble pas nécessaire
/etc/X11/xorg.conf.d/20-nvidia.conf
Section "Device"
   Identifier     "Device0"
   Driver         "nvidia"
   VendorName     "NVIDIA Corporation"
   # activez le contrôle de la luminosité de l'écran pour les ordinateurs portables
   Option         "RegistryDwords" "EnableBrightnessControl=1"
   # ne plus afficher le logo nvidia au démarrage
   Option         "NoLogo" "True" 
EndSection

Benchmark

Bash.svg
yaourt unigine-heaven

Test

Bash.svg
pacman -S xterm
echo "xterm & sleep 10" > ~/.xinitrc

startx
# startx fait partie du paquet xorg-xinit

Fichiers de configuration

Le fichier « /etc/X11/xorg.conf » n'est plus utilisé. Il a été remplacer par les fichiers du répertoire « /etc/X11/xorg.conf.d/ ».
Les fichiers de ce répertoire se nomment « XX-nom.conf » où XX est un chiffre indiquant l'ordre (croissant) dans lequel les fichiers de configuration vont être lu.

Fichier de log

/var/log/Xorg.0.log

Écran noir

  1. Utiliser le kernel parameter nomodeset pour accéder aux terminaux.
  2. Consulter le log /var/log/Xorg.0.log
  3. Consulter les log journalctl -r

Clavier

/etc/X11/xorg.conf.d/10-keyboard-layout.conf
Section "InputClass"
    Identifier "evdev keyboard catchall"
    MatchIsKeyboard "on"
    MatchDevicePath "/dev/input/event*"
    Driver "evdev"
    Option "XkbModel" "pc105"
    Option "XkbLayout" "ch"
    Option "XkbVariant" "fr"
    # Option "XkbLayout" "fr"
    # Option "XkbVariant" "latin9"
EndSection
Bash.svg
# configuration actuelle
setxkbmap -print -verbose 10

# lister les models, layouts, variants et options
localectl list-x11-keymap-models
localectl list-x11-keymap-layouts
localectl list-x11-keymap-variants [layout]
localectl list-x11-keymap-options

Clavier sur wiki archlinux
Changez l'affectation des touches clavier

Changement temporaire

Bash.svg
setxkbmap -model pc105 -layout ch -variant fr

Afficher les keycodes des touches

Bash.svg
xev | awk -F'[ )]+' '/^KeyPress/ { a[NR+2] } NR in a { printf "%-3s %s\n", $5, $8 }'

Associez une combinaison de touches / boutons à une commande

  • xbindkeys permet d'associer une commande à une touche de la souris ou du clavier.
  • xdotool permet de simuler l'appui des boutons de la sourie et des touches du clavier.
  • xvkbd est un clavier virtuel, qui utilisé en ligne de commande permet de simuler l'appui des touches du clavier. Préférer l'utilisation de xdotool!
Pensez à désactiver les raccourcis système pour qu'ils n'entrent pas en conflit avec les combinaisons xbindkeys.
xbindkeys utilise le premier clavier de la liste même si celui-ci n'est pas activé!
~/.xbindkeysrc
# mapper le bouton 8 de la souris sur la touche Entrée
#"xvkbd -text "\[Return]""
"xdotool key Return"
    b:8 + Release
# mapper Ctrl+w avec Ctrl+z
"xvkbd -text "\Cz""
    control + w
# mapper Ctrl+q avec Ctrl+a
"xvkbd -text "\Ca""
    control + q

# mapper alt+mouse wheel avec increase volume
"amixer set Master 3%+"
#"pamixer -i 3"
    Alt + b:4
# mapper alt+mouse wheel avec decrease volume
"amixer set Master 3%-"
#"pamixer -d 3"
    Alt + b:5

# remapper XF86Calculator vers galculator
"galculator"
    XF86Calculator

# mapper PrintScreen avec la commande screenshot pour LightShot
"xdotool key --window $( xdotool search --limit 1 --all --pid $( pgrep Lightshot ) --name Lightshot ) 'Print'"
    m:0x0 + c:107
# m:0x0 aucun modifier

# alt + tab
"xdotool keydown alt key Tab; sleep .1; xdotool keyup alt;"
#"xset r off; xdotool keydown alt key Tab; xdotool keyup alt; xset r on;"  # xset r off: turn off repeat feature
#"xdotool keydown alt key Tab; xdotool keyup alt;"  # keyboard → Key repeat → Enable key repeat = OFF

# bouton 1 de la sourie
"xdotool click 1"
Bash.svg
# connaitre une touche
xbindkeys -mk
# Liste des modifiers:
# * Mod1 (Alt)
# * Mod2 (NumLock)
# * Mod3 (CapsLock)
# * Mod4 (Super)
# * Mod5 (Scroll)
Bash.svg
# démarrez xbindkeys
xbindkeys

# arrêtez xbindkeys
pkill -f xbindkeys
xvkbd text code
\[keysym] ex: \[BackSpace]
\S Shift
\C Control
\A Alt
\r Return
\d Delete
\b BackSpace
\t Tab
\M Meta
\mdigit simulate click of the specified mouse button

Touchpad

Touchpad Synaptics

Bash.svg
# installation du driver
sudo pacman -s xf86-input-synaptics

Configuration

/etc/X11/xorg.conf.d/10-synaptics.conf
Section "InputClass"
      Identifier "touchpad"
      Driver "synaptics"
      MatchIsTouchpad "on"
             # clique-gauche: tappe 1 doigt
             Option "TapButton1" "1"
             # clique-milieu: tappe 2 doigts
             Option "TapButton2" "2"
             # clique-droit: tappe 3 doigts
             Option "TapButton3" "3"
             Option "VertEdgeScroll" "on"
             Option "VertTwoFingerScroll" "on"
             Option "HorizEdgeScroll" "on"
             Option "HorizTwoFingerScroll" "on"
EndSection

La configuration de Gnome 3 écrase celle de Xorg
Applications → Outils système → Paramètres système → Souris et pavé tactile

Souris

Connaître le numéro des boutons

Bash.svg
xev | sed -n 's/state .\+, \(button [0-9]\+\), same_screen YES$/\1/p'

Tester le mapping

Bash.svg
# obtenir l'id de la souris
xinput list
xinput --set-button-map ID 1 3 0 4 5 0 0 8 2 2 0

Modifier le mapping des boutons

/etc/X11/xorg.conf.d/20-souris_evoluent.conf
Section "InputClass"
    Identifier "Evoluent"
    MatchUSBID "1a7c:0191"
    Option "ButtonMapping" "1 3 0 4 5 0 0 8 2 2 0"
EndSection
Le numéro MatchUSBID est obtenu avec la commande lsusb


ButtonMappingEvoluent.jpg
ButtonMapping
Valeur Comportement
0 bouton désactivé
1 clique gauche
2 clique du milieu
3 clique droit
4 roulette vers le haut
5 roulette vers le bas
6 roulette vers la gauche
7 roulette vers la droite
8 clique pouce 1
9 clique pouce 2
10 ExtBt7
11 ExtBt8

Using an Evoluent VerticalMouse 4 on Linux

Associer une combinaison de boutons à une commande

Note that xorg X Input system cannot bind a combination of more than one mouse button to a certain action. For example, it is not possible to bind left-clicking while simultaneously scrolling up to a specific action. So the rule of thumb is one button for one action, unless the button is combined with the keyboard modifier keys (Ctrl, Alt, Super,...)

Binding an action to a combination of mouse buttons

BELKIN n52te

Touches par défaut sous Linux

w e r t y
s d f g h
z x c v
  • touche 15 → espace
  • touche ronde → control gauche

Touches par défaut sous Windows

Tab q w e r
Caps a s d f
Maj G z x c
  • touche 15 → espace
  • touche ronde → Alt G

Mais cela donne: azerqsdfwxc avec un clavier azerty

Logiciels de configuration

Aucun ne fonctionne. Il faut configurer le speedpad sous Windows.

Polices

Bash.svg
sudo pacman -S ttf-dejavu
yaourt ttf-inconsolata-g ttf-monofur

Monospaced

Lancer un programme sur un nouveau serveur X

Bash.svg
# lance xterm dans un nouveau serveur X
xinit /usr/bin/xterm -- :1 &
# attention à bien spécifier le chemin complet du programme

Starcraft 2

Bash.svg
#!/bin/bash
# création d'un nouveau serveur X et lancement de xterm pour éviter que le serveur ne se ferme
xinit /usr/bin/xterm -- :1 &
# Attend 1 secondes que le serveur soit prêt
sleep 1
# lancement de SC2 dans le nouveau serveur X
DISPLAY=:1 /usr/share/playonlinux/playonlinux --run "StarCraft II Wings of Liberty" %F