English  Español  Português  Français  Italiano  Deutsch  Nederlands  Svenska  Dansk  Suomi  Norsk  Русский  Polski  Română  Български  Hrvatski  Česky  中国  中國  日本語  한국어  Ελληνική  हिन्दी  العربية 
PS2 mouse e computer BASIC Stamp
Colin Fahey

1. Introduzione

In questo articolo viene descritto come uno PS/2 mouse può essere emulato da un BASIC Stamp computer. 

Questa esplorazione è informale. 
ps2_mouse_interior.jpg
L'interno di un vecchio-stile (palla in movimento) il mouse del computer: il “Microsoft Intellimouse„  (Ho sostituito i sensori ottici con lunghi fili.)
Un mouse ha due assi: “X„ e “Y„.  Quando il mouse viene spostato “orizzontalmente,„ “X„ la ruota del mouse all'interno della ruota.  Quando il mouse viene spostato “verticalmente„ (su una superficie), il “Y„ ruota all'interno della ruota del mouse.  Per arbitrario movimento del mouse, il “X„ e “Y„ ruote spostare secondo il “orizzontale„ e “verticale„ componenti del movimento del mouse. 
ps2_mouse_interruptor_wheels.jpg
Interruptor ruote ottici all'interno del mouse
Avviso i fori le ruote all'interno del mouse.  Quando la ruota ruota, l'infrarosso (IR) luce emessa da un IR Light Emitting Diode (LED) viene interrotto più volte, a un tasso proporzionale al tasso di rotazione delle ruote.  Così, il mouse sa quante “incrementi„ (chiamato anche “zecche)„ il mouse asse si è spostato in un determinato periodo di tempo. 

La determinazione della direzione del movimento implica l'uso di 2 sensori di luce, che si trova molto vicino insieme, lungo un asse parallelo al movimento della ruota.  (Entrambi i sensori sono in un unico 3-pin componente indicato qui sotto.) 
mouse_sensor01.jpg
IR mouse sensore di luce (ha due rilevatori IR in un unico pacchetto)
Il centro pin del pacchetto è positivo il raccoglitore di tensione; 
Sinistra e destra sono i perni a sinistra ea destra di uscita del sensore di emettitori. 

Facciamo il nome di due sensori nel pacchetto “A„ e “B„.  Supponiamo che la ruota è inizialmente in un angolo di rotazione tale che la luce IR è bloccato da raggiungere entrambi i sensori. 

Come la ruota ruota, il IR luce dalle emettitore sarà in grado di passare attraverso un buco nella ruota e raggiungere uno dei due sensori, come ad esempio sensore “A„.  Se la ruota continua rotazione nella stessa direzione, alla fine del secondo sensore, “B„, sarà in grado di IR ricevuto luce.  Se la ruota continua rotazione nella stessa direzione, infine la luce IR verranno bloccati da raggiungere sensore “A„.  Se la ruota continua rotazione nella stessa direzione, infine la luce IR verranno bloccati da raggiungere sensore “B„. 

Così, la sequenza è: 
(A,B):   ..., (0,0), (1,0), (1,1), (0,1), ...
Se la ruota, ruota in direzione opposta, il 4-sequenza termine sopra indicato saranno invertite, a partire dalla situazione attuale.
Con questi due segnali del sensore siamo in grado di determinare tasso di rotazione, e la direzione.
ps2_mouse_circuit_board.jpg
Il circuito del consiglio di amministrazione di Microsoft Intellimouse
Per capire di più su come il mouse circuiteria interpreta la luce, sensori e comunica con il personal computer (PC) (tramite segnali PS/2), ho studiato il circuito. 

Il microchip ha il seguente nome stampato su di esso: SPCP05A. 

Una ricerca di Internet per la parola “SPCP05A„ indica che il chip è prodotto da una società chiamata “Sunplus Technology Co.„.  Informazioni sulla “SPCP05A„ microchip possono essere acquisite da tale società. 

Ecco le specifiche tecniche del microchip “SPCP05A„: 
sunplus_ps2_3dmouse_datasheet.pdf
(Specifiche tecniche del microchip “SPCP05A„)
1125022 byte
MD5: 359a9210275e021cc19a5e2391499dc5
La seguente immagine mostra i segnali dei pin del “SPCP05A (PS/2 3D mouse)„ microchip.
spcp05a_chip_signals_bmp01.jpg
Segnali dei pin del microchip “SPCP05A (PS/2 3D mouse)„
La “SPCP05A„ è in realtà un piccolo computer!  Ha un set di istruzioni, e RAM, e ROM, e timer interno, ecc  In effetti, la descrizione dei “SPCP05A„ microchip nelle informazioni trasmesse dagli Sunplus Co.  poco si riferisce all'uso specifico del microchip per il “mouse del computer„ circuiti.  Questo chip è un versatile microcontrollore. 

Ho studiato il circuito di tracce sul circuito del consiglio di amministrazione di Microsoft Intellimouse per formare il seguente schema approssimativo:
ps2_mouse_my_schematic.jpg
Approssimativa schema del Microsoft Intellimouse  (Io sono scomparsi alcuni condensatori, ma questo schema è quasi perfetto.)
Bui Van Chu, in Australia, leggere il mio articolo e mi ha inviato uno schema più completo, che appare nella seguente immagine.
ms_ps2_mouse_schematic.jpg
PS/2 il mouse schematico, inviato a me di Bui Van Chu da Australia
Il circuito è molto semplice. 

I pulsanti del mouse (sinistra, centro, destra), passare direttamente al ingressi del microchip. 

Le tre coppie di sensori di luce, ((“X„, “Y„, “Z„), (di movimento orizzontale, verticale circolazione, e centrale del mouse ruota)) inviare segnali direttamente ad altri ingressi del chip. 

PS/2 i segnali DATA e CLK (orologio) corrispondono anche a I/O segnali su chip. 

Ho capito lo schema, non appena ho finito di disegno (seguendo le tracce sul circuito di bordo). 

Una cosa che ho fatto non è stato inizialmente capire il modo in cui la IR LEDs sono stati collegati a microchip (pin 16: “PB1„), invece dei loro terminali negativo (catodo) semplicemente essere collegato direttamente a terra.  Questo è importante!

2. Il mio primo tentativo di controllo di movimento del mouse

Le seguenti osservazioni si riferiscono al movimento lungo un unico asse (come ad esempio il “X„, o orizzontale, asse). 

La prima cosa che ho provato è stato un oggetto in movimento tra le IR LED e la coppia di sensori - per simulare l'effetto di rotazione delle ruote entro il mouse.  Questo lavorato.  Mi potrebbe causare il cursore del mouse per spostarsi all'interno dello schermo semplicemente spostando un ostacolo IR attraverso il fascio di luce più volte, nella stessa direzione. 

Quindi, ho cancellato i 3 pin sensore da parte del mouse circuito di bordo, e collegato a fili circuito bordo in sostituzione del sensore.  I manualmente collegato a un filo la tensione positiva per simulare sensore attività.  Ho collegato i due segnali per il potere secondo il seguente schema (tale che rappresenta “0„ “off,„ e rappresenta “in„ “1„):
(0,0), (1,0), (1,1), (0,1), ...
Questo lavorato.  Ho potuto spostare il cursore del mouse sullo schermo di questo noioso e scollegare il collegamento di fili nello schema sopra indicato.  Invertendo l'andamento della situazione attuale nella sequenza sarebbe spostare il cursore nella direzione opposta. 

Perché le cose andavano così bene, ho deciso di collegare i cavi a relè (controllata da RS-232).  Ciò essenzialmente mi permetta di fare esattamente ciò che ho fatto con fili sciolti: collegare il sensore segnali al terminale di potenza negli appositi sequenza.  L'unica differenza sarebbe il fatto che l'uomo (me) non avrebbe a che fare il noioso e scollegare il collegamento. 

...  Ma non ha funzionato! 

Dopo un sacco di adeguamento di resistenze e condensatori, ecc, ho fatto una strana scoperta: Se mi è stato di toccare alcuni terminali nel circuito, ha funzionato perfettamente!  La soluzione a questo mistero appare nella sezione successiva. 

3. La infrarossi (IR) luce deve essere modulata

Dopo un po 'frustrante esperimenti ho avuto un nuovo pensiero: Il IR luce potrebbe essere a un pulsante ad alta frequenza, e il chip potrebbe aspettarsi di ricevere questa frequenza.  Costante luce (o il mio simulato costante di uscita del sensore) potrebbe essere respinto.  Sono stato un po 'perplesso dal fatto che la luce ambientale di una lampada da terra alogena è stato accettabile, ma sapevo che, anche lampade ad incandescenza sono rilevabili modulazione. 

Ho provato pulsante IR LED uno ad alta frequenza e di bloccare l'sensori secondo il modello previsto.  Ha funzionato! 

Che è stato!  La IR LEDs nel topo il circuito deve essere lampeggiante ad alta velocità, e il microchip devono aspettarsi questo lampeggiante oltre ai relativamente basso tasso di interruzione di luce la rotazione delle ruote (con buche). 

Con il pulsante IR LEDs, e in attesa di questo pulsante in un sbloccato segnale di uscita del sensore, il chip può rifiutare qualsiasi ambiente IR segnali di interferire con il funzionamento del mouse.  Per esempio, luce da altri (costante) IR fonti non interefere con il mouse. 

Ho collegato uno amplificatore audio per il sensore di uscita, e poi lasciare che il sensore di prendere in luce ambiente espressi dal mio piano lampada alogena.  Ho sentito un netto tono (60 Hz).  Quando ho oscurato la lampada, il tono è cresciuto deboli e, infine, arrestato quando la luce era spenta.  Quindi, questo sensore facilmente alza il 60 Hz modulazione nel lampadina a incandescenza della mia lampada da terra alogena! 

Guardando, ora, allo schema del circuito del mouse PS/2 bordo, il significato del IR LEDs essere collegato ad un pin sul microchip (anziché per la corrente continua) è evidente.  Il microchip controlli il lampeggiamento del IR LEDs attraverso il I/O pin, e il microchip in grado di correlare la sua intenzione di flash il ID LEDs ricevuto con il sensore di input, e quindi respingere qualsiasi randagio segnali (a causa di non lampeggiante IR luce).  (Tuttavia, la correlazione non è necessario.  Basta individuare un numero minimo di lampeggiante conta potrebbe essere una soglia per l'accettazione di sensore di input.) 

4. IR sensori a banda filtri

Potete trovare IR speciali sensori, confezionato in transistor-come forma conduce con tre, che sono “sintonizzati„ a specifici modulati IR luce frequenze (ad esempio, 38 kHz). 
tuned_sensor01.jpg
Sintonizzati IR sensore di luce (massima sensibilità al 38 kHz luce modulazione)
Banda circuito è contenuta all'interno del dispositivo, insieme con la fotografia IR-transistor. 

Quindi, il IR LED può essere generalmente impulsi a una frequenza di 38 kHz in modo che il sensore riceverà la luce e lasciare che il segnale elettrico andare al sensore uscite. 

Di trasmettere informazioni, alla luce della IR LED può essere interrotto a un tasso relativamente basso (ad esempio, da 1 a 100 volte al secondo).  Questa bassa frequenza pulsante è in combinato disposto con il costante ad alta frequenza pulsante; vale a dire, la bassa frequenza pulsante può essere considerato come il modulare ad alta frequenza e pulsante.  Ad alta frequenza pulsante è come un “vettore d'onda„ su cui le informazioni del segnale (la relativamente bassa frequenza di modulazione) è trasportato. 

Tuttavia, ho verificato che il IR sensori in Microsoft Intellimouse non dispongono di tale modulazione di filtraggio.  Tuttavia, il circuito richiede che la luce IR essere modulata in qualche modo, oltre alla bassa frequenza delle interruzioni di luce la ruota con buchi. 

Il disegno seguente illustra la differenza di sensore per segnali costante IR LED luce lampeggiante e IR LED luce per le diverse fasi della rotellina del mouse svolta.
ps2_mouse_quadrature_sketch.jpg
Segnali di uscita del sensore per la luce costante IR caso e la luce lampeggiante IR caso.

5. Simulando il mouse di ingresso utilizzando un computer BASIC Stamp

“BASIC Stamp 2„ il computer dispone di sufficiente programmabilità per l'attuazione del protocollo PS/2.  Pertanto, la “BASIC Stamp 2„ computer può essere collegato direttamente alla porta PS/2 di un personal computer (PC) e può emulare uno PS/2 mouse o tastiera. 

5.1 Il protocollo PS/2

Negli anni 1998 attraverso 2003, la maggior parte dei personal computer ha avuto PS/2 porte per il mouse e la tastiera. 

PS/2 il porto dispone di 4 segnali: (1) CLOCK; (2) DATA; (3) +5V; (4) GROUND. 

Il porto PS/2 dispositivi permette di inviare i dati al ospitante, e l'ospite può inviare dati ai dispositivi.  Tutte le parti su un PS/2 porta (in genere solo un dispositivo e di accoglienza) devono condividere i segnali e deve rilevare se un altro partito sta attualmente utilizzando i segnali. 

Come può essere condivisa segnali?  Un segnale (come ad esempio CLOCK o DATA) è di solito “galleggianti„ elevato, il che significa che il segnale è collegato ad una tensione positiva attraverso una resistenza con alta resistenza (ad esempio, 4 kilo-Ohms).  In tal modo il segnale viene interpretato come una logica “alta„ di ascolto da parte di tutti i partiti.  Qualsiasi parte può tirare la linea bassa (via TTL logica) quando la parte che intende inviare dati.  Quando una parte termina l'invio di un pacchetto, consente di passare i segnali all'infinito, in modo che galleggiano ancora alta. 

Per inviare i dati da un dispositivo (ad esempio, mouse o tastiera) per i personal computer (PC), è necessario inviare i dati a 11-bit di pacchetti, che consta dei seguenti pezzi: (1) avviare bit (“0„); (2) 8 bit di dati (LSB prima); (3) bit di parità (parità “dispari);„ (4) bit di stop “(1).„  Si noti che “la parità„ è “dispari,„ quando il numero totale di “1„ bit nel bit di dati e bit di parità combinata è un numero dispari. 

Il seguente diagramma illustra la trasmissione di un singolo pacchetto di dati: 
ps2_clock_data_dev2pc01_adj.jpg
PS/2 protocollo: dispositivo per ospitare (PC) pacchetto
DATA la linea dovrebbe essere impostato per il corretto valore prima di portare il CLOCK linea bassa.  DATA il valore impostato deve rimanere fino a quando la linea è CLOCK tornato indietro a elevato.  CLOCK quando la linea è confermata ad essere elevato, il DATA valore può essere cambiato con il prossimo bit valore. 

La tipica velocità di clock è relativamente lento, circa 10 kHz a 17 kHz.  Che è di 100 microsecondi fino a 70 microsecondi per ogni periodo di clock. 

Lo scenario di accoglienza (PC) l'invio di dati a un dispositivo analogo al dispositivo di invio di dati per l'host, ma in tutti i casi il dispositivo controlla il CLOCK segnale durante la trasmissione dei dati.  Anche, un po 'di dati inviati da host (su dispositivo di regolazione CLOCK basso) dovrebbe essere latched quando il dispositivo consente il segnale CLOCK fare una transizione verso l'alto. 

Una ricerca su Internet si rivelano molti PS/2 le descrizioni dei segnali e informazioni su protocollo. 

5.2 PS/2 mouse pacchetti di dati

Quando il computer si avvia, il sistema operativo inizia e, infine, comunica con il mouse per determinare il tipo di mouse.  Per impostazione predefinita il mouse maggio comportarsi come un generico PS/2 mouse.  Tuttavia, se il sistema operativo determina che il mouse è in realtà un “3D PS/2„ del mouse (ad esempio, un mouse con una ruota), può dire il mouse per cambiare il mouse 3D PS/2 protocollo. 

Quando si sposta il mouse o premere o rilasciare i pulsanti del mouse, il mouse invia i dati circuiteria a (PC) ospitante, indicando quale stato si sono verificati cambiamenti dopo la precedente indicazione di Stato. 

Il generico PS/2 mouse invia i seguenti tre pacchetti di accoglienza: 
    ------------------------
    D7 D6 D5 D4 D3 D2 D1 D0  (The D0 bit (LSB) is sent first)
    ------------------------
(1) YV XV YS XS  1  0  R  L  (overflow, sign, buttons)
(2) X7 X6 X5 X4 X3 X2 X1 X0  (X movement; -128 to +127)
(3) Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0  (Y movement; -128 to +127)

L  = Left  Button State (1 = pressed down)
R  = Right Button State (1 = pressed down)
XS = Direction of X movement (1 = LEFT)
YS = Direction of Y movement (1 = UP)
XV = Overflow of X movement value (1 = X overflow occured)
YV = Overflow of Y movement value (1 = Y overflow occured)
X7,...,X0 : X movement; 8-bit 2's-complement signed byte (-128 to +127)
Y7,...,Y0 : Y movement; 8-bit 2's-complement signed byte (-128 to +127)

Here are examples of data sent to the host (PC):
------------------------------------------------
(The least-significant bit of each data byte is sent first.)
Move Left  1 unit    :  0x18, 0xFF, 0x00
Move Right 1 unit    :  0x08, 0x01, 0x00
Move Down  1 unit    :  0x28, 0x00, 0xFF
Move Up    1 unit    :  0x08, 0x00, 0x01
Press   Left  Button :  0x09, 0x00, 0x00
Release Left  Button :  0x08, 0x00, 0x00
Press   Right Button :  0x0C, 0x00, 0x00
Release Right Button :  0x08, 0x00, 0x00
E 'molto comune per avere un “3D PS/2„ del mouse (ad esempio, un mouse con rotellina che funge anche da centro pulsante).  Quali un mouse invia quattro pacchetti di dati per l'host (PC). 
    ------------------------
    D7 D6 D5 D4 D3 D2 D1 D0  (The D0 bit (LSB) is sent first)
    ------------------------
(1) YV XV YS XS  1  M  R  L  (overflow, sign, buttons)
(2) X7 X6 X5 X4 X3 X2 X1 X0  (X movement; -128 to +127)
(3) Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0  (Y movement; -128 to +127)
(4) Z7 Z6 Z5 Z4 Z3 Z2 Z1 Z0  (Z movement; -128 to +127)

This is very similar to the generic PS/2 mouse,
with a few additions:

M = Middle Button State (1 = pressed down)
Z7,...,Z0 : Mouse wheel movement; 8-bit 2's-complement signed byte
    (The Z value is forced to a range of -8 to +7)

5.3 Il mio primo circuito per simulare una PS/2 mouse

Il seguente schema è stato il mio primo lavoro tecnica per ottenere “BASIC Stamp 2„ il mio computer per inviare dati PS/2 mouse a (PC) ospitante.
2002june03_basicstamp_to_ps2mouse_circuit.jpg
Schema di circuito per consentire la BASIC Stamp computer per inviare PS/2 pacchetti di accoglienza (PC).
Si noti che questo circuito elettricamente isolati BASIC Stamp mio computer da (PC) computer host.  Anche notare che questo circuito è solo per soddisfare il fabbisogno elettrico di trasmissione dei dati PS/2 (dal dispositivo di ospitare).  Quindi, posso inviare messaggi PS/2 tastiera utilizzando questo stesso circuito se collegare la tastiera PS/2 porta host (PC)! 

Dal momento che alla ricezione di segnali è generalmente non invasive (vale a dire, l'ascolto non interferisce con segnali elettrici), l'unica cosa necessaria per consentire l'“BASIC Stamp„ computer per ricevere il PS/2 CLOCK e DATA segnali è una connessione diretta da quelle di altri segnali BASIC Stamp I/O pins (configurato per essere ingressi).  Io ho provare una sorta di tampone - ma sicuramente non può usare un opto-isolatore direttamente, dal momento che metterebbe un carico sul “galleggiante„ segnali (così “naufragio„ loro!).  Potrei usare il +5V al potere di un buffer, quindi utilizzare il buffer di output di guidare opto-isolatori che in ultima analisi, inviare segnali al BASIC Stamp I/O pin (configurati come ingressi). 

La seguente immagine mostra il mio BASIC Stamp 2 computer collegato a un circuito di corrispondenza dello schema di cui sopra. 
2002june03_basicstamp_mousecircuit01_adj.jpg
BASIC Stamp 2 computer collegato a una porta per mouse PS/2 tramite un opto-isolatore circuito.
BASIC Stamp 2 il seguente programma, scritto in PBASIC il linguaggio di programmazione, è stato il mio primo tentativo di successo per il controllo della PS/2 mouse BASIC Stamp 2 tramite il computer. 

Il programma fa semplicemente il cursore del mouse muoversi lungo una piccola linea diagonale. 
'====================================================================
'{$STAMP  BS2} 'STAMP directive (specifies a BS2)

    DIR0 = %1 'Set pin 0 to OUTPUT
    DIR1 = %1 'Set pin 1 to OUTPUT
    OUT0 = %0 'Set DATA line high (pin low)
    OUT1 = %0 'Set CLOCK line high (pin low)
    tempData    VAR  BYTE
    tempParity  VAR  BYTE

'--------------------------------------------------------------------

MainLoop:

    tempCounter  VAR  WORD

    FOR tempCounter = 0 TO 10
    tempData = $28
    GOSUB TransmitPacket
    tempData = $01
    GOSUB TransmitPacket
    tempData = $ff
    GOSUB TransmitPacket
    tempData = $00
    GOSUB TransmitPacket
    PAUSE 100
    NEXT

    FOR tempCounter = 0 TO 10
    tempData = $18
    GOSUB TransmitPacket
    tempData = $ff
    GOSUB TransmitPacket
    tempData = $01
    GOSUB TransmitPacket
    tempData = $00
    GOSUB TransmitPacket
    PAUSE 100
    NEXT

    GOTO MainLoop

STOP

'--------------------------------------------------------------------

TransmitPacket:

    GOSUB ComputeParity       'First, compute parity

    tempData   = ~tempData    'Invert data bits
    tempParity = ~tempParity  'Invert parity bit

    '==== Start Bit ====
    OUT0 = %1 'Set data line low (output high)
    PULSOUT 1, 25   ' Pulse line 1 for (25*2) = 50 usec

    '==== Data Bits ====
    OUT0 = tempData.BIT0
    PULSOUT 1, 25
    OUT0 = tempData.BIT1
    PULSOUT 1, 25
    OUT0 = tempData.BIT2
    PULSOUT 1, 25
    OUT0 = tempData.BIT3
    PULSOUT 1, 25
    OUT0 = tempData.BIT4
    PULSOUT 1, 25
    OUT0 = tempData.BIT5
    PULSOUT 1, 25
    OUT0 = tempData.BIT6
    PULSOUT 1, 25
    OUT0 = tempData.BIT7
    PULSOUT 1, 25

    '==== Parity Bit ====
    OUT0 = tempParity.BIT0
    PULSOUT 1, 25

    '==== Stop Bit (high) ====
    OUT0 = %0  ' pin low is DATA high
    PULSOUT 1, 25

    PAUSE 1 ' Necessary? Provides 1 msec gap between packets...

RETURN

'--------------------------------------------------------------------

ComputeParity:

    tempParity = $01
    tempParity = tempParity + tempData.BIT0
    tempParity = tempParity + tempData.BIT1
    tempParity = tempParity + tempData.BIT2
    tempParity = tempParity + tempData.BIT3
    tempParity = tempParity + tempData.BIT4
    tempParity = tempParity + tempData.BIT5
    tempParity = tempParity + tempData.BIT6
    tempParity = tempParity + tempData.BIT7
    tempParity = tempParity & $01

RETURN

'====================================================================
Questo programma funziona perfettamente.  I lasciar correre per ore, ed è reso in modo impeccabile il cursore del mouse per passare tra due località esatta sullo schermo.  Questo è quello che stavo cercando: un controllo preciso del mouse in modo che possa interagire con il software. 

Dopo la ricerca in Internet ho scoperto che qualcun altro ha utilizzato un computer per BASIC Stamp interfaccia PS/2 (a simulare una tastiera).  Questa persona ha utilizzato il PBASIC istruzioni SHIFTOUT per gestire la CLOCK e DATA segnali, che è davvero grande.  Ciò renderebbe la mia “TransmitPacket„ subroutine molto più breve, forse 5 righe di codice totale! 

Ho anche visto che le altre persone TTL buffer utilizzato, con ingressi collegato direttamente da PS/2 segnali (CLOCK e DATA), uscite e collegato direttamente al pin del chip microcontrollore.  Nello stesso circuito, linee di uscita dal microcontrollore è andato direttamente alla base perni a transistor che hanno avuto il loro collezionisti collegato direttamente al PS/2 segnali.  Tutto questo accoppiamento diretto di diversi circuiti sembra una cattiva idea a me, perché un circuito friggere gli altri.  Non so cosa mi fare se il fritto PS/2 porto sul mio PC.  Acquistare una nuova scheda madre, I guess!  Una scusa per aggiornamento.  Non credo che uno porta PS/2 scheda madre fusione è probabile, ma mi ha fatto immediatamente l'arresto mio computer quando ho accidentalmente in cortocircuito la +5V e GROUND segnali di recarsi alla PS/2 mouse.  Forse è una caratteristica!  Potrei aggiungere un nuovo pulsante per il mouse che solo cortocircuiti il mouse potere di arresto per l'istante del PC.  ;-) 

Ecco il link per le informazioni riguardanti l'uso di SHIFTOUT per la PS/2 protocollo:
http://ourworld.compuserve.com/homepages/steve_lawther/keybinfo.htm
Cerca il seguente link:
KEYBTST.ZIP   gives a very basic program for the parallax
-----------
BASIC stamp II, to send key-codes to the PC's keyboard port.
It also gives a write-up of the XT and AT keyboard interfaces
(although IMO some details could be wrong / different to the
keyboards I've looked at).
Localmente-copia cache del file:
keybtst.zip

10655 byte
MD5: c5667557f96db53fb878bd11bfbe4f74
Il seguente link fornisce maggiori informazioni per quanto riguarda l'interfaccia del mouse PS/2:
http://panda.cs.ndsu.nodak.edu/ ~ achapwes/PICmicro/PS2/ps2.htm
colinfahey.com
informazioni di contatto
English  Español  Português  Français  Italiano  Deutsch  Nederlands  Svenska  Dansk  Suomi  Norsk  Русский  Polski  Română  Български  Hrvatski  Česky  中国  中國  日本語  한국어  Ελληνική  हिन्दी  العربية