raw mouse commands
David Belohrad
david.belohrad na cern.ch
Středa Prosinec 21 18:40:40 CET 2005
Zdravim,
potreboval bych oscanovat komunikaci po ps/2. Ze smeru od mysi do
pocitace to neni problem. Ovsem co me zajima je opacny smer, tedy
kdyz PC posila neco po PS/2 (napriklad nastaveni resolution na mysi).
Chtel bych napsat maly program, ktery tam posila alespon neco (optimalni
by bylo napr. set_mouse_resolution nebo tak neco). A tak bych se rad zeptal:
a) existuje nejaky program ktery primo komunikuje s mysi (primo ji
posila prikazy)? Zkousel jsem gpm, ovsem na osciloskopu jsem neobjevil
ani naznak nejakych operaci. Studoval jsem kernelovske drivery, ale je
to prilis komplikovane na to co bych s tim rad delal.
b) napsal jsem kratky program ktery by teoreticky mel mit primy pristup
na kontroler ps/2
#include <stdio.h>
#include <fcntl.h>
#include <sys/io.h>
int main (void)
{
int fd;
fd_set readyset;
int pending;
unsigned char buff[10];
fd = ioperm (0x60,1,1);
printf ("%d\n",fd);
fd = ioperm (0x64,1,1);
printf ("%d\n",fd);
while (1)
{
// write next one to ps/2 mouse - but wait for bit 0 at 0x64
to be zero
while ( (inb(0x64) & 0x01) );
// output buffer is ready, let's write down - next command
means write
// next data to the auxiliary mouse device
outb (0x64, 0xd4);
// and data - mouse status request
outb (0x60, 0xe9);
printf ("a\n");
}
return 0;
}
Ten ovsem konci segfaultem na prvni outb instrukci. Proc nefunguje?
diky
david
Další informace o konferenci Linux