From Gzav's Wiki

Materiel: 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.


~/.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


~/.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


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


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





Retrieved from http://www.ubbdf.fr/pmwiki/Materiel/SZ3XP-Clavier
Page last modified on April 21, 2009, at 10:51 PM