Recent Changes - Search:
HomePage



Materiel


Photo


Système et réseau

 Sous Debian Gnu Linux...

 ... et Ubuntu


Gestion de projet

 ...informatique


Cours


Divers


Private




 edit SideBar



SZ 3 XP-Clavier

Laptop SONY SZ3XP : le clavier et les touches Fn


NB : il existe à priori de nombreuses manière de catcher les évènements provenant des touches multimédia d'un clavier : via l'ACPI' ou encore XModMap par exemple. J'expose ici la méthode XModMap un peu brutale. Elle me paraît en effet moins "délicate" que l'ACPI que je n'ai pas encore eu le temps de mettre en place (cf. les fichiers dans /etc/acpi qui sont liés à ceux dans /usr/share/hotkey-setup/ et le lien suivant). Cependant il paraitrait que la gestion des touches spéciales via l'ACPI soit deprecated, hal permet lui aussi de contrôler ces touches comme énoncé dans cet article très intéressant


Gestion de la luminosité de l'écran avec le module sony-laptop (remplaçant de sonypi)


Normalement le module prend en charge les touches de luminosité (Fn+F5 et Fn+F6).

aptitude install sony-laptop


Pour vérifier que le module est bien chargé :

lsmod | grep sony-laptop


Au besoin pour charger le driver :

modprobe sony-laptop


Ce driver permet de reconnaitre les touches multimedia du clavier SONY et les touches de réglage de la luminosité sont (à mon avis / à confirmer) gérées par ACPI.


Touches de gestion du volume avec XModmap


Une partie des scripts qui suivent ont été récupérés sur la faq de Xfce ou encore ici, éventuellement modifiés par mes soins pour mon usage personnel.


  • Lancer xev dans un terminal et regarder le code des combinaisons de touches S1, S2, Fn+F2 (mute), Fn+F3 (volume down) et Fn+F4 (volume up) :
    
    
    • mute = 160
      
      
    • volume down = 174
      
      
    • volume up = 176
      
      
    • S1 = 159
      
      
    • S2 = 151
      
      
      
      
  • Pour faire le mapping entre les touches Fn+Fx et leurs keycodes (par défaut non assignées par le système), créer le fichier ~/.Xmodmap et y insérer les lignes suivantes :
    
    
    
    
~/.Xmodmap

keycode 160 = XF86AudioMute
keycode 176 = XF86AudioRaiseVolume
keycode 174 = XF86AudioLowerVolume
keycode 159 = XF86AudioStop
keycode 151 = XF86AudioPlay


Il est bien entendu possible d'associer d'autres touches multimedia, par exemple :

keycode 144 = XF86AudioPrev
keycode 153 = XF86AudioNext
keycode 237 = XF86AudioMedia
keycode 230 = XF86Favorites
keycode 236 = XF86Mail
keycode 178 = XF86WWW


  • Pour être certain que le fichier créé soit pris en compte par X ajouter au fichier ~/.xinitrc la ligne suivante (créer le fichier au besoin en lui assignant les droits à l'éxécution) :
    
    
~/.xinitrc

/usr/bin/xmodmap $HOME/.Xmodmap


Cette page contient de nombreux renseignements sur le fonctionnement de X, notamment sur les fichiers de configuration.


[edit 18/04/09]

En parcourant le man de Xsession et comme la solution du ~/.xinitrc ne fonctionnait plus, j'ai trouvé la méthode suivante plus élégante et mieux intégrée à X (copier-coller du man).

Créer le fichier suivant :

vim /etc/X11/Xsession.d/40custom_load-xmodmap

Y insérer les lignes ci-dessous :

SYSMODMAP="/etc/X11/Xmodmap"
USRMODMAP="$HOME/.Xmodmap"

if [ -x /usr/bin/X11/xmodmap ]; then
    if [ -f "$SYSMODMAP" ]; then
        xmodmap "$SYSMODMAP"
    fi
fi

if [ -x /usr/bin/X11/xmodmap ]; then
    if [ -f "$USRMODMAP" ]; then
        xmodmap "$USRMODMAP"
    fi
fi



Scripts de contrôle


  • Pour assigner les actions volume up, volume down et mute aux boutons et lancer les commandes adéquates au mixer alsa (amixer), recopier les scripts suivants et leur donner les droits à l'éxécution.
    
    
    
    
fn-keys_volUp.sh

#!/bin/bash
###########################################
# Copyright (C) 2005 Patrick A. Read
#
# louder - this shell script increases
# the volume of the Master playback control
# in alsamixer. Usage: louder [number]
# where (optional) number is the number of
# clicks you wish to increase the volume.
# Example: louder 4 cranks up the volume
# four steps. If you do not specify a
# number, then louder will raise the
# volume one step. NOTE: Alsamixer uses
# 32 steps (0-31) in its volume controls.
###########################################
if [ "$1" != "" ]
then
VOLADJ=${1}+
else
VOLADJ="10+"
fi
amixer set Master ${VOLADJ}
exit 0
###########################################
# end of louder script
###########################################


fn-keys_volDown.sh

#!/bin/bash
###########################################
# Copyright (C) 2005 Patrick A. Read
#
# softer - this shell script decreases
# the volume of the Master playback control
# in alsamixer. Usage: softer [number]
# where (optional) number is the number of
# "clicks" you wish to decrease the volume.
# Example: softer 3 softens the volume
# three steps. If you do not specify a
# number, then softer will lower the
# volume one step. NOTE: Alsamixer uses
# 32 steps (0-31) in its volume controls.
###########################################
if [ "$1" != "" ]
then
VOLADJ=${1}-
else
VOLADJ="10-"
fi
amixer set Master ${VOLADJ}
exit 0
###########################################
# end of softer script
###########################################


fn-keys_mute.sh

#!/bin/bash
## This script toggles the Master volume using amixer.
## (Toggles mute LED on HP nc6120)
## Carel van Wyk
amixer set Master toggle
exit 0


Configuration de XFCE


  • Associer les touches aux scripts via l'interface de configuration du clavier de XFCE (menuXFCE -> Paramètres -> Paramètres du clavier -> Raccoucis)
    
    
    
    
xfce4-keyboard-shorcuts


Installation Sony VAIO SZ3XP









[TEST] Essai de gestion des raccourcis clavier avec Hal

Pour l'instant je poste tout en vrac. Tests réalisés d'après ce site : http://people.freedesktop.org/~hughsient/quirk/quirk-keymap-try.html

cd /usr/share/hal/fdi/information/10freedesktop

more 30-keymap-module-sony-laptop.fdi


<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->

<deviceinfo version="0.2">
  <device>
    <!-- These are buttons synthesized in the sony-laptop kernel module
         You can find the scancodes in the kernel source of the module (drivers/misc/sony-laptop.c) -->
    <match key="input.product" string="Sony Vaio Keys">
      <match key="/org/freedesktop/Hal/devices/computer:system.hardware.vendor" prefix="Sony">

	<!-- Older Vaios have a different keymap -->
	<match key="/org/freedesktop/Hal/devices/computer:system.hardware.product" contains_outof="PCG-C1;PCG-K25;PCG-F1;PCG-F2;PCG-F3;PCG-F4;PCG-F5;PCG-
F6;PCG-FX;PCG-FRV;PCG-GR;PCG-TR;PCG-NV;PCG-Z;VGN-S360;VGN-SZ2HP_B">
	  <append key="input.keymap.data" type="strlist">0x06:battery</append>
          <append key="input.keymap.data" type="strlist">0x07:mute</append>
	</match>

	<!-- now the generic mapping -->
	<match key="input.keymap.data" exists="false">
          <append key="input.keymap.data" type="strlist">0x06:mute</append> <!-- Fn+F2 mute -->
          <append key="input.keymap.data" type="strlist">0x07:volumedown</append> <!-- Fn+F3 mixer down -->
          <append key="input.keymap.data" type="strlist">0x08:volumeup</append> <!-- Fn+F4 mixer up -->
          <append key="input.keymap.data" type="strlist">0x09:brightnessdown</append> <!-- Fn+F5 brightness up -->
          <append key="input.keymap.data" type="strlist">0x0a:brightnessup</append> <!-- Fn+F6 brightness down -->
	</match>

	<!-- now the common part -->
	<match key="input.keymap.data" exists="true">
          <append key="input.keymap.data" type="strlist">0x0b:switchvideomode</append> <!-- Fn+F7 switch crt/lcd -->
          <append key="input.keymap.data" type="strlist">0x0e:zoom</append> <!-- Fn+F10 zoom -->
          <append key="input.keymap.data" type="strlist">0x10:suspend</append> <!-- Fn+F12 hibernate -->
          <append key="info.capabilities" type="strlist">input.keymap</append>
        </match>

     </match>
    </match>
  </device>
</deviceinfo>


Liste des mappings (décrits dans le fichier ci-dessus) supportés par Hal : lshal | grep keymap

  info.callouts.add = {'hal-setup-keymap'} (string list)
  info.capabilities = {'input', 'input.keys', 'input.keymap', 'button'} (string list)
  input.keymap.data = {'0x06:mute', '0x07:volumedown', '0x08:volumeup', '0x09:brightnessdown', 
'0x0a:brightnessup', '0x0b:switchvideomode', '0x0e:zoom', '0x10:suspend'} (string list)


A priori tout devrait fonctionner mais seuls les boutons de brightness sont fonctionnels.

Reste à voir comment est fait le mapping entre '0x07:volumedown' par exemple et l'action à réaliser.

[edit 11-03-2009]

Pour chaque couple keycode:event (i.e. 0x0a:brightnessup), l'event correspond à un des KEY_* listé dans le fichier /usr/include/linux/input.h.

Maintenant reste à voir qui gère l'évènement en question (et comment)



Installation Sony VAIO SZ3XP










[DEPRECATED] Avec le module sonypi (projet obsolète remplacé par sony-laptop)


Tout d'abord il faut recompiler le noyau avec le module sonypi (absent de la version 64bits).


Télécharger la dernière version du driver sonypi sur http://www.popies.net/sonypi/.

D'autres infos sur sonypi sont dispo à cette adresse.

wget sonypi-1.9.1.tar.bz2


Décompresser l'archive

bunzip2 sony-1.9.1.tar.bz2

tar -xvf sony-1.9.1.tar


Installer les dépendances nécessaires pour compiler le driver

aptitude install libxtst-dev


Aller dans le répertoire et compiler le driver

cd sonypi-1.9.1

make


En root, installer le démon sonypid

make install


Créer le fichier /etc/modprobe.conf et y ajouter les lignes suivantes pour charger le module sonypi automatiquement au démarrage.

alias char-major-10-250 sonypi
options sonypi minor=250


Créer le node sonypi dans le filesystem

mknod /dev/sonypi c 10 250


Installation Sony VAIO SZ3XP






Pièces jointes de la catégorie :








Edit - History - Print - Recent Changes - Search
Page last modified on April 21, 2009, at 10:51 PM