Comment récupérer l'état du clavier (la touche "r" est enfoncée, le alt gauche et p sont enfoncés) et de la souris (le bouton 1 est enfoncé, la souris est déplacé sur la gauche).
J'ai fait des cat dans un terminal et des open en python sur /dev/tty0 (c'est l'écran ou le clavier ?) et /dev/input/mouse0. Sur tt0, c'est une catastrophe :) Sur mouse0, je comprends rien mais on voit bien une "logique" dans les signes cabalistiques qui apparaisssent (je me doute qu'il doit y avoir une certaine logique ;p).
Apparement il faut récupérer un structure de flag pour le clavier, pour la souris j'ai pas compris mais je vois bien des changements d'état au mousedown et au mouseup.
Pour le clavier je n'arrive qu'à intercepter quand le terminal à le focus, pour la souris, ça marche tout le temps.
Des idées ?
# Pour quoi faire?
Posté par totof2000 . Évalué à 1.
Quel est le but de la manoeuvre?
Ne serait-il pas plus simple d'utiliser un toolkit graphique (wxpython ou TkInter)?
Sinon, peut-être que <a href=http://panda.cs.ndsu.nodak.edu/~achapwes/PICmicro/mouse/mouse.html&(...) ceci pourrait t'intéresser et correspondre à ce que tu récupère sur /dev/input/mouse0
[^] # Re: Pour quoi faire?
Posté par totof2000 . Évalué à 1.
[^] # Re: Pour quoi faire?
Posté par rangzen (site web personnel) . Évalué à 2.
Le but final est de piloter un traitement de texte avec un clavier virtuel
[^] # Re: Pour quoi faire?
Posté par totof2000 . Évalué à 1.
En fait j'ai un peu de mal à comprendre ce que tu veux faire, et comment tu veux le faire.
[^] # Re: Pour quoi faire?
Posté par totof2000 . Évalué à 1.
http://sourceforge.net/projects/watch/(...)
Peut-être que ça pourait t'aider.
Peux-tu quand même préciser ce que tu veux faire?
[^] # Re: Pour quoi faire?
Posté par rangzen (site web personnel) . Évalué à 2.
Mais j'aimerai que ça ne dépende pas d'un GUI particulier d'ou ma recherche du coté de /dev
[^] # Re: Pour quoi faire?
Posté par rangzen (site web personnel) . Évalué à 2.
Noyau 2.6 ?
[rangzen@libre rangzen]$ cat /proc/interrupts
CPU0
0: 3754392 XT-PIC timer
1: 2398 XT-PIC i8042
2: 0 XT-PIC cascade
5: 1374356 XT-PIC bttv0
8: 1 XT-PIC rtc
9: 259 XT-PIC EMU10K1
10: 318173 XT-PIC uhci_hcd, uhci_hcd, nvidia
11: 3954 XT-PIC acpi, eth0
12: 69370 XT-PIC i8042
14: 11524 XT-PIC ide0
15: 32104 XT-PIC ide1
NMI: 0
LOC: 3754314
ERR: 7095
MIS: 0
[rangzen@libre rangzen]$ cat /proc/ioports
0000-001f : dma1
0020-0021 : pic1
0040-005f : timer
0060-006f : keyboard
0070-0077 : rtc
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0
02f8-02ff : serial
0376-0376 : ide1
0378-037a : parport0
037b-037f : parport0
03c0-03df : vesafb
03f6-03f6 : ide0
03f8-03ff : serial
0cf8-0cff : PCI conf1
5000-500f : 0000:00:07.4
6000-607f : 0000:00:07.4
c000-c00f : 0000:00:07.1
c000-c007 : ide0
c008-c00f : ide1
c400-c41f : 0000:00:07.2
c400-c41f : uhci_hcd
c800-c81f : 0000:00:07.3
c800-c81f : uhci_hcd
cc00-ccff : 0000:00:07.5
d000-d003 : 0000:00:07.5
d400-d403 : 0000:00:07.5
dc00-dc1f : 0000:00:09.0
dc00-dc1f : EMU10K1
e000-e007 : 0000:00:09.1
e400-e4ff : 0000:00:0e.0
e400-e4ff : eth0
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 2.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Pour quoi faire?
Posté par rangzen (site web personnel) . Évalué à 2.
[^] # Re: Pour quoi faire?
Posté par totof2000 . Évalué à 1.
J'ai juste vu quelque choser qui a l'air de correspondre de loin à ce que tu veux.
Peux-tu nous en dire plus sur ce que tu veux faire ?
[^] # Re: Pour quoi faire?
Posté par rangzen (site web personnel) . Évalué à 3.
Je suis pas encore sur de la manière de receuillir les changements d'état, est ce que je vais vérifier toutes les x ms l'état de l'objet ou est ce que l'objet me préviens à chaque changement d'état ...
Le but final est un logiciel d'aide aux personnes handicapées qui permet de piloter un logiciel avec une commande limitée.
Je suis en train de tester tout les "bouts" de l'application et d'imaginer les structures internes.
Le logiciel s'appellera PyLisiere et sera sous GPL
[^] # Re: Pour quoi faire?
Posté par totof2000 . Évalué à 1.
J'ai vu (vite fait) ceci:
http://www.pypackage.org/packages/python-xlib/package_view(...)
Il faudrait que je me replonge dans la xlib pour voir s'il est possible d'intercepter tous les evenements clavier/souris qui arrivent sur le serveur (Y a-t-il qqn qui peut nous renseigner dans la salle?).
[^] # Re: Pour quoi faire?
Posté par totof2000 . Évalué à 1.
http://www-igm.univ-mlv.fr/~berstel/Cours/Xlib/13-Evenements.pdf(...)
Il y a peut-être moyen de récupérer les infos en fonction du Window Manager (voir la doc de ton WM préféré, et s'il existe un module Python te permettant d'y accéder).
Je suis pas encore sur de la manière de receuillir les changements d'état, est ce que je vais vérifier toutes les x ms l'état de l'objet ou est ce que l'objet me préviens à chaque changement d'état ...
une idée:
créer un objet pour chaque module (thread) de saisie. Relier chaque module à ton thread principal par une queue de messages commune. Le module principal (s'il n'a rien d'autre à faire) attend en permanence qu'un message arrive sur cette queue et exécute les actions correspondantes (que tu auras répertorié dans une table d'actions a effectuer en fonction de ton message).
Est-ce qu'il existe un site pour ton projet avec les sources en ligne?
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.