Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/11/2010, à 09:17

seblem

Comment verrouiller un clavier

Bonjour,

Mon fils adore regarder Oui-Oui sur le Pc. Mais voilà à deux ans comment pourrait il s'empêcher d'appuyer sur toutes ces petites touches. Et bien il peut pas.

La seule idée qui m'est apparue serait un raccourci pour verrouiller le clavier sans évidemment bloquer le raccourci.

Ce raccourci éxiste t'il ?

Hors ligne

#2 Le 11/11/2010, à 10:46

Ayral

Re : Comment verrouiller un clavier

Tu peux tout simplement débrancher le clavier pendant qu'il regarde oui-oui...


Pour mettre les retours de commande entre deux balises code, les explications sont là : https://forum.ubuntu-fr.org/viewtopic.php?id=1614731
Blog d'un retraité
Site de graphisme du fiston Loïc
Ubuntu 22.04 LTS sur un Thinkpad W540

Hors ligne

#3 Le 11/11/2010, à 11:17

seblem

Re : Comment verrouiller un clavier

Merci Ayral, J'ai omis de préciser qu'il s'agissait d'un Pc portable.
Et je recherche une solution clean, pas une solution Gym Tonic qui me raffermirait les fessiers
à quatre pattes de mon autre éventuel Pc, lui de Bureau, méprisait dans sa poussière.

En tout cas ta solution est radicale et fonctionnelle dans certains cas.

Hors ligne

#4 Le 12/11/2010, à 00:18

Ayral

Re : Comment verrouiller un clavier

Alors chais pas...
Edit. Du coup je suis allé jeter un œil dans Système ---> Préférences ---> Clavier. Dernier onglet "Pause de saisie" Verouiller l'écran pour forcer une pause. On ne sait jamais, ça peut marcher. Mais l'aide qui va avec marche pas.

Dernière modification par Ayral (Le 12/11/2010, à 00:21)


Pour mettre les retours de commande entre deux balises code, les explications sont là : https://forum.ubuntu-fr.org/viewtopic.php?id=1614731
Blog d'un retraité
Site de graphisme du fiston Loïc
Ubuntu 22.04 LTS sur un Thinkpad W540

Hors ligne

#5 Le 12/11/2010, à 08:42

seblem

Re : Comment verrouiller un clavier

Bonjour Ayral,

Bien réfléchis parce que je n'avais pas pensé à aller voir ce menu.
Cependant je ne vois rien qui pourrait m'aider. Sur ce blog ils parlent de la fonctionnalité énoncée dans ton post :

Faites une pause

Je ne connais personne qui se serve d'une telle fonctionnalité mais bon maintenant je sais qu'elle existe.

Sur le net beaucoup de liens sur comment verrouiller son ecran mais rien concernant le clavier alors que même sans parler de Oui-Oui il pourrait s'agir d'une sécurité supplémentaire.

en tout cas encore merci à toi, et tout cela n'est pas très important de toute façon, j'ai acheté une paire de menottes libre.

Hors ligne

#6 Le 18/02/2013, à 12:24

valimazarescu

Re : Comment verrouiller un clavier

Moi aussi je cherche un outil pareil pour le bloquage de clavier et souris pour le même raison...:D
Y a t'ils quelqu’un qui sais?

Hors ligne

#7 Le 18/02/2013, à 23:24

Ayral

Re : Comment verrouiller un clavier

valimazarescu a écrit :

Moi aussi je cherche un outil pareil pour le blocage de clavier et souris pour le même raison...:D
Y a t-il quelqu’un qui sait?

Sacré déterrage !
1361226167.jpg
Pour le moment je vois pas. mais peut être ça viendra ? Dans 2 autres années ?


Pour mettre les retours de commande entre deux balises code, les explications sont là : https://forum.ubuntu-fr.org/viewtopic.php?id=1614731
Blog d'un retraité
Site de graphisme du fiston Loïc
Ubuntu 22.04 LTS sur un Thinkpad W540

Hors ligne

#8 Le 18/02/2013, à 23:51

alej

Re : Comment verrouiller un clavier

xtrlock ?

Hors ligne

#9 Le 18/02/2013, à 23:59

compte supprimé

Re : Comment verrouiller un clavier

Salut,
solution : http://wpkg.org/Disable_/_enable_keyboa … e_in_Linux
Attention quand même. Le mieux est de faire un script :

#!/bin/bash
xinput set-int-prop 10 "Device Enabled" 8 0
vlc --play-and-exit video.avi
xinput set-int-prop 10 "Device Enabled" 8 1

Le clavier restera bloqué pendant tout le temps de la video ! Dans le cas de vlc, faut ajouter l'option  --play-and-exit pour que vlc se ferme à la fin de la lecture.

#10 Le 15/01/2014, à 05:54

lkhalid

Re : Comment verrouiller un clavier

bonsoir
je fais la queue aussi en attente de solution.
mais je cherche aussi à verrouiller la souris car mon petit bout me laisse pas travailler et m'arrache la souris et commence à cliquer jusqu’à ce que il s’ennuie et part.
la solution ne doit pas être complexe :une combinaison pour verrouiller /déverrouiller les périphériques (clavier souris).
merçi

Hors ligne

#11 Le 15/01/2014, à 06:10

nesthib

Re : Comment verrouiller un clavier

Un petit script perl que j'aime bien :

#!/usr/bin/env perl
use warnings;
use strict;
use Data::Dumper;
my $lastmod="2006/05/25";
my $datemod="2008/07/03";
my $defaultpassword="pass";
my $progname=$0;
$progname =~ s%.*/%%g;

sub usage($)
{
  my ($exitcode)=@_;

  print STDERR <<END_OF_USAGE ;
usage for $progname
$progname [-xy=XX,YY]
			  [-p|password thepassword]
			  [-stars|-invisible|-visible|-visible=maxlen]
			  [-message]
			  [-w|-withmouse]
			  [-help]

$progname was written by:Chris Sincock
(this version $datemod)
Copyright (C) 2006 Chris Sincock
 '-withmouse' option added 2008 Andrew Oakley under GPL

This is free software; see the GNU GPL license for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE


If you specify -password or -stars it will default to not telling you
 what password to type
If you don't specify -password or -stars or -vis, it will tell you
 what password to type and the password will be $defaultpassword

You can clear whatever has already been typed by hitting <Return>
END_OF_USAGE

  exit($exitcode);
}


my $password=$defaultpassword;
my $message="Type the password to quit\n:";
my $true=1;
my $false=0;
my $noshow=$true;
my $withmouse=$true; # default mouse lock
my $maxshownlength=30;
my $defaults_changed=$false;
my $defaults_changed_vis=$false;

my @startpos=(0,0);

while (@ARGV)
{
  my $arg=shift @ARGV;
  if($arg =~ /^-xy=(\d+),(\d+)$/i)
  {
    @startpos=($1,$2);
  }
  elsif($arg =~ /^(-|--)(h|help|usage|[?])$/i)
  {
    usage(0);
  }
  elsif($arg =~ /^(-|--)(p|pass|password)$/i)
  {
    if(!@ARGV)
    {
      print STDERR "missing argument\n";
      usage(-1);
    }
    $password=shift @ARGV;
    $defaults_changed=$true;
  }
  elsif($arg =~ /^(-|--)(s|stars)$/i)
  {
    $noshow="stars";
    $defaults_changed=$true;
  }
  elsif($arg =~ /^(-|--)(i|invisible)$/i)
  {
    $message="?";
    $defaults_changed=$true;
  }
  elsif($arg =~ /^(-|--)(w|withmouse)$/i)
  {
    $withmouse=$true;
    $defaults_changed=$true;
    $defaults_changed_vis=$true;
  }
  elsif($arg =~ /^(-|--)(n|nomouse)$/i)
  {
    $withmouse=$false;
    $defaults_changed=$true;
    $defaults_changed_vis=$true;
  }
  elsif($arg =~ /^(-|--)(v|vis|visible)(=(\d+)|)$/i)
  {
    $noshow=$false;
    if(length($4))
    {
      $maxshownlength=$4;
    }
    $defaults_changed=$true;
    $defaults_changed_vis=$true;
  }
  elsif($arg =~ /^(-|--)(m|msg|message)$/i)
  {
    if(!@ARGV)
    {
      print STDERR "missing argument\n";
      usage(-1);
    }
    $message=shift @ARGV;
    if(length($message))
    {
      $message.="\n";
    }
    $defaults_changed=$true;
  }
  else
  {
    usage(-1);
  }
}
if(!$defaults_changed)
{
  $noshow=$false;
}
if((!$defaults_changed || $defaults_changed_vis))
{
  $message="Type '$password' to quit\n";
}

use Gtk2 -init;
my $w  = new Gtk2::Window -popup;
my $l  = new Gtk2::Label $message;
my $eb = new Gtk2::EventBox;
my $gdkwin;
my $grabstatus;
my $typed="";

sub do_grab()
{
  $grabstatus= Gtk2::Gdk->keyboard_grab(
      $gdkwin,$true,Gtk2::Gdk::X11->get_server_time($gdkwin) );
  if($grabstatus ne "success")
  {
    $l->set_text("keyboard grab failed");
  }
  if($withmouse)
  {
    $grabstatus= Gtk2::Gdk->pointer_grab(
       $gdkwin,$true,['button-press-mask','button-release-mask'],undef,undef,Gtk2::Gdk::X11->get_server_time($gdkwin));
    if($grabstatus ne "success")
    {
      $l->set_text("pointer grab failed");
    }
  }
}

sub do_ungrab()
{
  Gtk2::Gdk->keyboard_ungrab(Gtk2::Gdk::X11->get_server_time($gdkwin));
  if($withmouse)
  {
     Gtk2::Gdk->pointer_ungrab(Gtk2::Gdk::X11->get_server_time($gdkwin));
  }
}

sub do_keypress(@)
{
  my ($widg,$evt)=@_;
  my $kv = $evt->keyval;
  my $cs = Gtk2::Gdk->keyval_name($kv);

  if($cs =~ /Return|Enter/)
  {
    if($typed eq $password)
    {
      do_ungrab();
      Gtk2->main_quit;
    }
    else
    {
      $typed="";
    }
  }
  elsif(length($cs) == 1 && $cs =~ /[[:print:]]/)
  {
    $typed .= $cs;
  }
  my $showtyped=$typed;
  if($noshow eq "stars")
  {
    $showtyped =~ s/[^*]/*/g;
  }
  elsif($noshow)
  {
    $showtyped="";
  }
  if(length($showtyped) > $maxshownlength)
  {
    $showtyped=substr($showtyped,0,$maxshownlength);
  }
  $l->set_text($message.$showtyped);
}
$w->add($eb);
$eb->add($l);
$w->add_events( [ qw(key_press_mask) ]);
$w->signal_connect('key_press_event', \&do_keypress);
$w->signal_connect('realize', sub { $w->window->move(@startpos); });
$w->signal_connect('map', sub { $gdkwin=$w->window; do_grab(); });
$w->show_all;
Gtk2->main;

à lancer en faisant :

./script.pl -p 'pass' -invisible 

pour quitter, taper le mot de passe (en précédent d'Entrée si jamais autre chose a été tapé avant)


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#12 Le 10/02/2014, à 17:25

cledesol

Re : Comment verrouiller un clavier

Bonjour

Suite à la demande d'un de mes fils, voila ce que j'ai fait pour lui.

En premier lieu, impossible de gérer ce problème par un simple raccourci clavier.
En effet, si on peut bloquer le clavier par un raccourci, on ne peut le débloquer par un autre raccourci puisque le clavier est inhibé.

J'ai donc choisi de faire un script qui, à la première exécution bloque le clavier et le libère à la suivante.
Il suffit en suite de faire un lanceur pour Unity.
Un clic de souris bloque le clavier.
On met la souris hors de portée de l'enfant, et quand on en a besoin, un clic de souris autorise à nouveau le clavier.

Voici le script:

#!/bin/bash

# Pas trouve comment detecter a coup sur l'id du clavier; je le force ici. A modifier selon les machines
# Pour trouver cet id, fair un "xinput --list"

# Definition de l'id du clavier
keyboardId=11

##############################################################
# Definition du nom de propriete a modifier
propertyName="Device Enabled"

# Definition clavier autorise
keyboardEnabled=1

# Definition clavier interdit
keyboardDisabled=0

##############################################################
# Recherche de la valeur actuelle de la propriete
propertyValue=`xinput --list-props ${keyboardId} | grep "${propertyName}" | awk '{print $4}'`

##############################################################
# Fixation de la valeur de la propriete a sa nouvelle valeur

if [ ${propertyValue} = ${keyboardEnabled} ]
then
	newValue=${keyboardDisabled}
# Le clavier est autorise, on le bloque
else
	newValue=${keyboardEnabled}
# Le clavier est bloque, on l'autorise
fi


##############################################################
# Mise a jour de la valeur de la propriete
xinput --set-prop ${keyboardId} "${propertyName}" ${newValue}

Je l'ai nommé "keyboardStateInverter.sh" et rangé dans mon "$HOME/bin" et rendu exécutable.
Pour le faire fonctionner, ne pas oublier de mettre à jour la ligne "keyboardId=xx" en fonction de votre configuration.

Au passage, si quelqu'un trouve comment extraire cet id à partir du résultat de "xinput --list", je suis preneur.

Ensuite, j'ai fait un lanceur pour Unity:

#!/usr/bin/env xdg-open

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Categories=GNOME;GTK;
Exec=/home/MON_LOGIN/bin/keyboardStateInverter.sh
Name=Inverse l'etat du clavier
Comment=Inverse l'etat du clavier
Icon=/usr/share/icons/Humanity/devices/48/keyboard.svg

Icon[fr_FR]=/usr/share/icons/Humanity/devices/48/keyboard.svg
Name[fr_FR]=keyboardStateInverter.desktop

Il est rangé dans "$HOME/.local/share/Applications et se nomme "keyboardStateInverter.desktop"

Attention ,ne pas oublier de mettre à jour en fonction de votre installation la ligne "Exec" et y remplacer MON_LOGIN par votre identifiant.

Avec "nautilus", vous faites un glisser/déposer de ce script dans le lanceur Unity et c'est opérationnel.


Cordialement


Bon, eh bien je vais partir en Théorie parce qu'en Théorie, tout se passe bien ....

Hors ligne