PDA

View Full Version : [C]Gestione input tastiera


Futuregames
14-05-2005, 20:54
vorrei sapere come si gestisce l'input della tastiera in c: abilitare la tastiera, scrivere ecc

sto scrivendo un sistema operativo per divertimento e per imparare ma ho il problema dell'input... :(

Fenomeno85
14-05-2005, 21:18
per prendere dati in c ci sono molte funzioni :O

getch
getchar
scanf
fscanf
fgets

~§~ Sempre E Solo Lei ~§~

Futuregames
14-05-2005, 21:56
nn ci siamo capiti...

nn ho chiesto come prendere i caratteri da tastiera... ma attivare la tastiera ecc... inzomma fare una sorta di "driver"

inport e outport mi sembra che si usi

ma il come nn lo so.. inzomma che porte utilizzare?

Fenomeno85
14-05-2005, 22:00
allora non so ... cmq per le porte dipende da dove è collegata la periferica

~§~ Sempre E Solo Lei ~§~

Futuregames
14-05-2005, 23:49
^^ ps2 si intende (default)

71104
15-05-2005, 02:57
non puoi sapere dove è collegata la tastiera: potrebbe anche trattarsi di una bluetooth, e allora ti ci voglio :D
e comunque sia i produttori di hardware possono fare quello che vogliono con le specifiche, quindi non è detto che per accedere a una certa periferica devi leggere/scrivere sempre sempre le stesse cose e sulla stessa porta per qualsiasi modello (anzi...), quindi l'unica scelta che hai è usare il bios della macchina (int 16H: keyboard driver)

Futuregames
15-05-2005, 14:04
ah si ma io avevo visto in c delle funzioni che gestendo gli irq attivavano la porta ps2 ad esempio...

cmq io sto facendo l'os per studio nn per distribuirlo quindi dubito che io testi l'os e pretenda che vada il bluetooth :rolleyes:

71104
15-05-2005, 15:38
ma perché vuoi a tutti i costi usare IN e OUT che al contrario dovresti evitare visto che non puoi mai sapere le specifiche dell'hardware? usa il driver da tastiera presente nel BIOS, no? è facilissimo e documentato, che ti costa? anzi!
considera che se il BIOS è abbastanza avanzato credo che ti permetta anche di usare tastiere USB e bluetooth ;)

PS: non mi venire a dire che non pretendi di testare il tuo SO su tastiere USB che ormai sono molto più diffuse di quelle ps2; e non venirmi a dire che vuoi scrivere un driver USB...

Futuregames
15-05-2005, 16:03
il mio os nn ha lo scopo di essere distribuito... lo sto facendo così tanto per fare... il driver usb manco so farli e manco ci penso...

prima lasciami fare le cose semplici poi passo alle cose difficili no? :rolleyes:

cionci
15-05-2005, 16:08
per prendere dati in c ci sono molte funzioni :O

getch
getchar
scanf
fscanf
fgets
OT: getch non è una funzione standard...eviterei di metterla fra quelle...

Concordo anche io con l'uso dei driver del BIOS...

71104
15-05-2005, 16:10
prima lasciami fare le cose semplici poi passo alle cose difficili no? :rolleyes:
appunto...

EDIT: anzi, fai solo le cose semplici

71104
15-05-2005, 16:11
Concordo anche io con l'uso dei driver del BIOS...
:mano: