Syscons

De Diablotins.org.


Le pilote des terminaux
Image:brush.png
Ce pilote, syscons(4) se situe au dessus de ceux du clavier atkbd(4) et de la carte vidéo vga(4).

Il s'identifie au pilote du terminal couleur SCO.
Cet article traitera aussi des pilotes de clavier, d'écran et partiellement de la souris.




Sommaire

Construire

Comme nombre de périphériques, ce pilote et ses pendants, sont intégrés dans le noyau et renseignent des variables systèmes. Dans le noyau, le pilote et ses deux acolytes sont identifiés comme suit:

# Premiere acolyte: le pilote clavier
device          atkbdc          # controleur clavier AT et souris PS/2
device          atkbd           # Clavier AT
# deuxième acolyte: le pilote souris
device          psm             # Souris PS/2 mouse
device          kbdmux          # Multiplexeur clavier
# Dernier acolyte: l'écran
device          vga             # Carte VGA
device          splash          # Écran d'accueil et de veille
# Le pilote en lui-même, dépendant des précédents
device          sc

En détail, chacun permet certaines adaptations, par des options.

SC

Ce pilote est attaché aux périphériques des terminaux virtuels /dev/ttvxx et à la console /dev/console. Nombre d'options sont disponibles pour ce pilote:

  • options MAXCONS=16
16 consoles virtuelles de disponibles: de ttyv0 à ttyvf.
  • options SC_ALT_MOUSE_IMAGE
Changez l'aspect du pointeur de la souris.
  • options SC_CUT_SEPCHARS=\x20
Changez le caractère de séparation, par défaut, un espace.
  • options SC_CUT_SPACES2TABS
Convertit les suites d'espaces en tabulation.
  • options SC_DISABLE_KDBKEY
Désactive les combinaisons de touches qui permettent d'entrer en mode debug, “Alt+Echap” ou “Ctrl+Imprécran”.
  • options SC_DISABLE_REBOOT
Désactive le redémarrage à l'aide de “Ctrl+Alt+Sup”.
  • options SC_HISTORY_SIZE=100
L'historique conserve 100 lignes.
  • options SC_MOUSE_CHAR=\0xd0
Codes de remplissage pour les octets réservés au pointeur de souris.
  • options SC_NO_CUTPASTE
Désactive le copier-coller.
  • options SC_NO_FONT_LOADING
Impossibilité de changer de police de caractère.
  • options SC_NO_HISTORY
Désactive l'historique
  • options SC_NO_PALETTE_LOADING
Monochrome

options SC_NO_SUSPEND_VTYSWITCH

Désactive la navigation entre terminaux durant les phases de réveil ACPI/APM.
  • options SC_NO_SYSMOUSE
Désactive la souris.
  • options SC_PIXEL_MODE
Passe le pilote dans un mode «gaphique» à affichage par pixels. Attention, votre consommation mémoire va augmenter d'autant.
  • options SC_TWOBUTTON_MOUSE
coller à l'aide du bouton droit de la souris.
  • options SC_NORM_ATTR=_attribute_
  • options SC_NORM_REV_ATTR=_attribute_
  • options SC_KERNEL_CONS_ATTR=_attribute_
  • options SC_KERNEL_CONS_REV_ATTR=_attribute_
    • attribute: (couleur1|couleur2)
    • FG_COLOR: couleur d'écriture.
    • BG_COLOR: couleur de fond.
couleurs, i.e.: (FG_GREEN|BG_BLACK), (FG_YELLOW|BG_BLACK) etc.
  • options SC_DFLT_FONT
    • makeoptions SC_DFLT_FONT=_font_name_
Changer de police de caractère par défaut.

Nombre de ces options peuvent être consultée, voire changée à la volée par sysctl; elles se trouvent dans «hw.syscons».

Clavier, keyboard(4)

Le «multiplexeur clavier», un “super clavier” qui reçoit toutes les entrées des différents claviers et les distribuent à qui le demande, est identifié sous l'entrée /dev/kbdmux0.
Ce derniers va gérer les entrées de périphériques clavier qui sont identifiées «atkbdx» (AT) ou «ukbdx» (USB) dans /dev/.
Ne pas confondre avec «kbdx», qui sont celles de X-Window.
Les options du clavier, dans le noyau sont:

  • ATKBD_DFLT_KEYMAP
Changer de disposition clavier par défaut.
  • KBD_DISABLE_KEYMAP_LOAD
Interdire le changement de disposition clavier

N'oubliez pas

device ukbd

Pour attacher un pilote aux claviers USB ou utilisez:

kldload ukbd.

Écran, screen(4)

C'est tout simplement votre carte graphique, dans un terminal.
Par défaut, vous obtenez un affichage en 80x25, soit 80 colonnes pour 25 lignes. Utiliation d'un pilote «VESA» nécessaire pour l'option précédente SC_PIXEL_MODE.

  • options VESA
  • options VESA_DEBUG=N
  • options VGA_ALT_SEQACCESS
Utilisation d'une séquence alternative, en cas de problème d'affichage.
  • options VGA_NO_FONT_LOADING
Désactivation du changement de police de caractère.
  • options VGA_NO_MODE_CHANGE
Désactivation du changement de mode d'affichage.
  • options VGA_SLOW_IOACCESS
Pour certaines anciennes carte.
  • options VGA_WIDTH90
Mode 90 colonnes; si votre carte et votre écran le supporte.

Pour les systèmes 64 bits, ajoutez aussi l'option:

  • options X86BIOS

Commander

Il existe une interface pour syscons qui se décline en deux outils kbdmap(1).
Deux autres interfaces interviennent sur le comportement des pilotes d'écran et de clavier.

syscons

kbdmap est dédié au clavier et vidfont à l'écran, mais les deux étant une seule et même interface, ils peuvent se combiner.
Ainsi:

kbdmap -K
vidfont -K

gèrent le clavier
et

kbdmap -V
vidfont -V

gèrent l'affichage.
Ces deux outils parcourent la base de disposition clavier ou de polices de caractères et vous présente un menu de sélection.

kbdmap -s
Liste les régionales possibles, pour l'affichage des menus et dialogues.

D'où l'usage:

kbdmap -l fr

pour obtenir un menu en français. Sinon, la langue de la variable d'environnement «LANG» est utilisée.

Clavier

L'outil kbdcontrol(1) permet de piloter vos claviers, en particulier de charger une disposition, parmi celles qui se trouvent dans le répertoire «/usr/share/syscons/keymaps/», kbdmap(5).
Notez que la sonnette est associée au clavier et que la souris est associée à l'écran.

Quel est l'état du contrôleur de clavier(s) ?

kbdcontrol -i

C'est l'outil qui va contrôle le pilote:

kbdcontrol -A /dev/ukbd1
Détache le deuxième clavier USB
kbdcontrol -a /dev/ukbd1
Attache le premier clavier USB
kbdcontrol -f 10 "Pas touche!"
Je vous laisse appuyer sur la touche «F10» ( dont le code est «10» ).
  • Changez de disposition clavier:
kbdcontrol -l /usr/share/syscons/keymaps/fr.dvorak.acc.kbd < /dev/atkbd1
kbdckbdcontrol -k /dev/ukbd0 < /dev/console
  • Modifiez la répétition de touches:
kbdcontrol -r attente.vitesse
kbdcontrol -r 1000.504
Après 1 seconde de pression ( 1000ms ), la touche est répétée toutes les 504 ms. Seules des valeurs prédéfinies sont acceptées. Vous pouvez aussi utiliser les arguments «fast» «normal» ou «slow» ( mon exemple ).
  • Modifiez la sonnette d'alarme:( ben oui, c'est dans le clavier)
kbdcontrol -b longueur( ms) .fréquence (Hz )
kbdcontrol -b off
enlevons le battant de la clochette
kbdcontrol -b normal
kbdcontrol -b visual
L'écran clignote plutôt que de sonner.
kbdcontrol -b quiet.visual
Comme précédemment mais seulement pour le terminal actif.

Écran

C'est l'outil vidcontrol(1) qui le manipule:

vidcontrol 80x50
passe en résolution 80 colonnes sur 25 lignes.
vidcontrol -f 8x16
précise le modèle de caractère, consultez /usr/share/syscons/fonts.
vidcontrol MODE_24
combine les deux précédents, utilisez la commande suivante pour connaître tous les modes:
vidcontrol -i mode

ou le péripérique vidéo:

vidcontrol -i device

Initialiser

Le Script RC /etc/syscons va vous permettre de communiquer avec le pilote, notamment au démarrage de la machine par /etc/rc.conf.
Les variables utilisée sont ensuite envoyée à vidcontrol(1) ou kbdcontrol(1)

  • Écran
font8x8="iso15-8x8"   
font8x14="iso15-8x14" 
font8x16="iso15-8x16"

ou

allscreens_flags="MODE_24 -m on"
  • Clavier
keymap="fr.iso.acc"
keyrate="normal"            
keybell="off" 

ou

allscreens_kbdflags="-l fr.iso.acc.kbd -r normal -b off"
  • Souris
moused_enable="YES"     
moused_type="auto"      
moused_port="/dev/psm0" 
moused_flags=""

Plus!

Outils personnels
Projets :