2 votes

Touche de verrouillage défilement ne fonctionne pas sur Fedora/KDE

J'ai un ordinateur avec Fedora 16 et KDE. Il est connecté à un commutateur KVM à un moniteur avec un autre ordinateur, et le commutateur utilise Scroll Lock + Scroll Lock pour basculer entre les ordinateurs.

Le problème est que pour une raison quelconque, le bouton Scroll Lock ne fonctionne pas sur Fedora/KDE. Num Lock et Caps Lock fonctionnent. La commande xset q dit qu'il est éteint, et xset led named "Scroll Lock" le rallume, mais je ne peux pas "double-cliquer".

Comment puis-je vérifier pourquoi le bouton ne fonctionne pas et résoudre le problème? J'ai cherché partout et n'ai trouvé personne avec ce problème spécifique.

5voto

D. Charles Pyle Points 153

J'ai une fois tiré mes cheveux pendant un certain temps en essayant de comprendre ça. Apparemment, Scroll Lock n'est pas détecté par défaut par X, donc vous devez le faire reconnaître et détecter cette touche, si vous êtes dans ce cas.

  1. Ouvrez un terminal.

  2. Exécutez xmodmap -pm pour vérifier quelles touches mod sont disponibles. En général, il y en a au moins une. Dans mon cas, mod3 était disponible. Alors j'exécuterais ce qui suit (votre touches mod disponible peuvent différer, utilisez donc ce numéro lorsque vous exécutez la commande suivante).

  3. Exécutez xmodmap -e 'ajouter mod3 = Scroll_Lock' et la touche Scroll Lock devrait commencer à fonctionner dans X.

  4. Pour rendre ceci permanent, vous pouvez ajouter un élément de démarrage dans votre gestionnaire de fenêtres/environnement ou utiliser une autre méthode comme mettre cela dans votre fichier .xinitrc ou créer un fichier xinitrc.d pour faire cela (si cela fonctionne toujours pour votre distribution de Linux, ou utilisez une autre méthode si ce n'est pas le cas).

MISE À JOUR : Je viens de remarquer qu'après quelques mises à jour, ma méthode précédente d'invoquer xmodmap en utilisant un élément de démarrage a cessé de fonctionner. J'utilisais un ajout aux Préférences des Applications de Démarrage. Comme cette manière de faire est maintenant ajoutée aux autres manières dont cette commande a été cassée, j'ajoute ce qui suit pour Fedora 21 et ultérieur. Cela devrait également fonctionner pour un certain nombre d'autres distributions, mais cela peut varier.

Pour rendre ce qui précède permanent, faites ce qui suit :

  1. Utilisez votre numéro de touche mod disponible obtenu ci-dessus s'il diffère de mod3 ci-dessous, ou vérifiez à nouveau pour voir lequel est disponible en exécutant :

xmodmap

Nous supposerons qu'il a donné mod3 comme emplacement disponible à des fins de ce guide.

  1. Créez un script dans le répertoire /usr/local/bin appelé scrlkon.

sudo touch /usr/local/bin/scrlkon

  1. Ouvrez le fichier que vous venez de créer (vous pouvez utiliser votre éditeur de texte préféré à la place de nano si vous préférez).

sudo nano /usr/local/bin/scrlkon

  1. Placez le texte suivant dans le fichier :

#!/usr/bin/sh

sleep 4

exec xmodmap -e 'ajouter mod3 = Scroll_Lock'

exit

  1. Enregistrez le fichier et rendez-le exécutable :

sudo chmod +x /usr/local/bin/scrlkon

  1. Appelez le script à partir d'un élément de démarrage.

Vous pouvez nommer ce nouvel élément de démarrage comme vous le souhaitez tant qu'il appelle scrlkon

  1. Redémarrez si cela ne démarre pas immédiatement quand vous vous déconnectez et vous reconnectez.

Remarque : Vous pouvez ajuster le nombre de sleep à plus de 4 si nécessaire. Appeler la fonction sleep est nécessaire pour contrer ce qui désactive la touche mod ou désactive la commande xmodmap lors de la connexion. 4 est un bon nombre car cela ne prend pas longtemps après la connexion pour fonctionner. Mais si elle est toujours désactivée par quelque chose dans l'environnement de Fedora (c'est particulièrement mauvais dans mate-desktop pour une raison quelconque) augmentez simplement le numéro de sleep jusqu'à ce que vous obteniez la touche activée de manière cohérente. Cela devrait faire l'affaire.

Une alternative à le faire de la manière ci-dessus (si vous ne voulez pas créer un script ou ajouter d'autres fichiers) est de substituer ce qui suit dans le champ Commande du programme de démarrage dans les étapes 2-6 alternatives :

sh -c "sleep 15; exec xmodmap -e 'ajouter mod3 = Scroll_Lock'"

Cela semble fonctionner également. Assurez-vous simplement que les guillemets simples et doubles sont droits et non courbés.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X