/**
*.Name         ms_init
*.Title        Инициализация мыши
*
*.Descr        Эта функция выполняет аппаратный сброс мыши, устанавливает в
*              начальные значения внутренние переменные ее драйвера.
*              Дополнительно определяется количество клавиш мыши.
*
*.Proto        int ms_init(int *nbottoms)
*
*.Params       int   *nbottoms - указатель на переменную типа int,
*                                в которую будет записано количество
*                                клавиш, имеющихся в мыши.
*
*.Return       0   - плата или драйвер не установлены;
*              -1  - плата установлена, инициализация выполнена успешно;
*
*              В переменную nbottoms записывается количество
*              клавиш мыши:
*
*               2  - две клавиши;
*               0  - больше или меньше, чем две;
*               3  - мышь системы Mouse Systems, три клавиши.
*
*.Sample       ms_sampl.c
**/

#include <dos.h>
#include <conio.h>

union REGS reg;

int ms_init(int *nbottoms) {

	reg.x.ax = 0;
	int86(0x33,&reg,&reg);

	*nbottoms = reg.x.bx;
	return reg.x.ax;

}

