void mouseinit(void) { uchar statustemp; mouse_wait(1); outb(0x64, 0xa8); //激活鼠标接口 mouse_wait(1); //激活中断 outb(0x64, 0x20); mouse_wait(0); statustemp = (inb(0x60) | 2); mouse_wait(0); outb(0x64, 0x60); mouse_wait(1); outb(0x60, statustemp); mouse_write(0xf6); //设置鼠标为默认设置 mouse_read(); mouse_write(0xf3); //设置鼠标采样率 mouse_read(); mouse_write(10); mouse_read(); mouse_write(0xf4); mouse_read(); initlock(&mouselock, "mouse"); picenable(IRQ_MOUSE); ioapicenable(IRQ_MOUSE, 0); count = 0; lastclicktick = lastdowntick = -1000; }
void init_mouse() { unsigned char _status; //unsigned char //Enable the auxiliary mouse device mouse_wait(1); outb(0x64, 0xA8); //Enable the interrupts mouse_wait(1); outb(0x64, 0x20); mouse_wait(0); _status=(inb(0x60) | 2); mouse_wait(1); outb(0x64, 0x60); mouse_wait(1); outb(0x60, _status); //Tell the mouse to use default settings mouse_write(0xF6); mouse_read(); //Acknowledge //Enable the mouse mouse_write(0xF4); mouse_read(); //Acknowledge //Setup the mouse handler //irq_install_handler(12, mouse_handler); // Firstly, register our keyboard callback. register_interrupt_handler(IRQ12, &mouse_callback); }
void mouse_install(){ unsigned char status; mouse_wait(1); outb(0xa8,0x64);//enable device mouse_wait(1); outb(0x20,0x64); mouse_wait(0); status=(inb(0x60)|2);//enable interrupt mouse_wait(1); outb(0x60,0x64); mouse_wait(1); outb(status,0x60); mouse_write(0xF6); mouse_read(); mouse_write(0xF4); mouse_read(); //vesa_draw_string(0,100,"mouse_install"); /*outb(0xa8,0x64); outb(0xd4,0x64); outb(0xf4,0x60); outb(0x60,0x64); outb(0x47,0x60);*/ outb(inb(0x21)&0xfb, 0x21); outb(inb(0xa1)&0xef, 0xa1); }
void mouse_write(uint8_t chr) { mouse_wait(1); outb(MOUSE_CMD, SEND_CMD); mouse_wait(1); outb(MOUSE_DATA, chr); }
void installmouse() { unsigned char _status; //unsigned char //Enable the auxiliary mouse device mouse_wait(1); outportb(0x64, 0xA8); //Enable the interrupts mouse_wait(1); outportb(0x64, 0x20); mouse_wait(0); _status=(inportb(0x60) | 2); mouse_wait(1); outportb(0x64, 0x60); mouse_wait(1); outportb(0x60, _status); //Tell the mouse to use default settings mouse_write(0xF6); mouse_read(); //Acknowledge //Enable the mouse mouse_write(0xF4); mouse_read(); //Acknowledge //set the handler,mousewrapper (in irqwrap.asm), IRQ12 setinterruptvector(0x2C,dex_idtbase,0x8E,mousewrapper,SYS_CODE_SEL); printf("MOUSE successfully installed!!!"); }
void init() { printf("moused: init\n"); uint8 _status; //unsigned char //Enable the auxiliary mouse device mouse_wait(1); outb(0x64, 0xA8); //Enable the interrupts mouse_wait(1); outb(0x64, 0x20); mouse_wait(0); _status=(inb(0x60) | 2); mouse_wait(1); outb(0x64, 0x60); mouse_wait(1); outb(0x60, _status); //Tell the mouse to use default settings mouse_write(0xF6); mouse_read(); //Acknowledge //Enable the mouse mouse_write(0xF4); mouse_read(); //Acknowledge }
void mouse_install() { byte _status; //unsigned char //Enable the auxiliary mouse device mouse_wait(1); outportb(0x64, 0xA8); //Enable the interrupts mouse_wait(1); outportb(0x64, 0x20); mouse_wait(0); _status=(inportb(0x60) | 2); mouse_wait(1); outportb(0x64, 0x60); mouse_wait(1); outportb(0x60, _status); //Tell the mouse to use default settings mouse_write(0xF6); mouse_read(); //Acknowledge //Enable the mouse mouse_write(0xF4); mouse_read(); //Acknowledge //Setup the mouse handler irq_install_handler(12, mouse_handler); }
inline void mouse_write(uint8 a_write) { mouse_wait(1); outb(0x64, 0xD4); mouse_wait(1); outb(0x60, a_write); }
void mouse_write(uchar word) { mouse_wait(1); outb(0x64, 0xd4); mouse_wait(1); outb(0x60, word); }
inline void mouse_write(unsigned char a_write) //unsigned char { //Wait to be able to send a command mouse_wait(1); //Tell the mouse we are sending a command outportb(0x64, 0xD4); //Wait for the final part mouse_wait(1); //Finally write outportb(0x60, a_write); }
/* Mouse event/keyboard thread */ void x11_mouse_thread(void *data) { //uint16_t key=((CIO_KEY_MOUSE&0xFF)<<8)|((CIO_KEY_MOUSE>>8)&0xFF); uint16_t key=CIO_KEY_MOUSE; SetThreadName("X11 Mouse"); while(1) { if(mouse_wait()) write(key_pipe[1], &key, 2); } }
void mouse_init() { mouse_wait(1); outb(MOUSE_CMD, ENABLE_AUX_PS2); mouse_wait(1); outb(MOUSE_CMD, GET_COMPAQ_STATUS); uint8_t status = mouse_read() | 2; // Enable IRQ12 mouse_wait(1); outb(MOUSE_CMD, SET_COMPAQ_STATUS); mouse_wait(0); outb(MOUSE_DATA, status); mouse_write(USE_DEFAULTS); mouse_read(); // Waits for ACK mouse_write(ENABLE_MOUSE); mouse_read(); }
void mouse_install() { debug_print(NOTICE, "Initializing PS/2 mouse interface"); uint8_t status; IRQ_OFF; mouse_pipe = make_pipe(sizeof(mouse_device_packet_t) * PACKETS_IN_PIPE); mouse_wait(1); outportb(MOUSE_STATUS, 0xA8); mouse_wait(1); outportb(MOUSE_STATUS, 0x20); mouse_wait(0); status = inportb(0x60) | 2; mouse_wait(1); outportb(MOUSE_STATUS, 0x60); mouse_wait(1); outportb(MOUSE_PORT, status); mouse_write(0xF6); mouse_read(); mouse_write(0xF4); mouse_read(); IRQ_RES; irq_install_handler(MOUSE_IRQ, mouse_handler); }
static inline void mouse_write(unsigned char val, unsigned int port) { mouse_wait(1); outb(val, port); }
void mouse_write(unsigned char data){ mouse_wait(1); outb( 0xD4,0x64); mouse_wait(1); outb(data,0x60); }
unsigned char mouse_read() { //Get's response from mouse mouse_wait(0); return inportb(0x60); }
void mouse_write(uint8_t write) { mouse_wait(1); outportb(MOUSE_STATUS, MOUSE_WRITE); mouse_wait(1); outportb(MOUSE_PORT, write); }
uint8_t mouse_read() { mouse_wait(0); return inb(0x60); }
uint8_t mouse_read() { mouse_wait(0); char t = inportb(MOUSE_PORT); return t; }
/*--------------------------------------------------------- Function: input_wait Description: Wait until all enabled input devices have been released. ---------------------------------------------------------*/ void input_wait(void) { if (keyboard) keyboard_wait(); if (mouse) mouse_wait(); if (joypad) joypad_wait(); }
static inline unsigned char mouse_read() { mouse_wait(0); return inb(0x60); }
uint8 mouse_read() { //Get's response from mouse mouse_wait(0); return inb(0x60); }