embox

Форк
0
/
ps_mouse.c 
33 строки · 655.0 Байт
1
/**
2
 * @file
3
 *
4
 * @date May 1, 2021
5
 * @author Anton Bondarev
6
 */
7

8
#include <stdint.h>
9

10
#include <drivers/input/input_dev.h>
11
#include <drivers/ps_mouse.h>
12

13
int ps_mouse_event_send(struct input_dev *indev, uint8_t data[3]) {
14
	struct input_event ev;
15

16
	ev.value = ((data[0] & MSTAT_XSIGN ? 0xff00 : 0) | data[1]) << 16;
17
	ev.value |= (data[0] & MSTAT_YSIGN ? 0xff00 : 0) | data[2];
18

19
	ev.type = 0;
20
	if (data[0] & MSTAT_BUTLEFT) {
21
		ev.type |= MOUSE_BUTTON_LEFT;
22
	}
23
	if (data[0] & MSTAT_BUTRIGHT) {
24
		ev.type  |= MOUSE_BUTTON_RIGHT;
25
	}
26
	if (data[0] & MSTAT_BUTMIDDLE) {
27
		ev.type  |= MOUSE_BUTTON_MIDDLE;
28
	}
29

30
	input_dev_report_event(indev, &ev);
31

32
	return 0;
33
}
34

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.