Subversion Repositories Kolibri OS

Rev

Rev 7806 | Rev 8389 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7806 Rev 7991
Line 49... Line 49...
49
:more_less_box double_click_delay = { NULL, 0, 999, DOUBLE_CLICK_TEXT, 8 };
49
:more_less_box double_click_delay = { NULL, 0, 999, DOUBLE_CLICK_TEXT, 8 };
50
:checkbox emulation = { MOUSE_EMULATION, NULL };
50
:checkbox emulation = { MOUSE_EMULATION, NULL };
51
:checkbox madmouse = { MADMOUSE, NULL };
51
:checkbox madmouse = { MADMOUSE, NULL };
52
:checkbox com_mouse = { COMMOUSE, NULL };
52
:checkbox com_mouse = { COMMOUSE, NULL };
Line -... Line 53...
-
 
53
 
53
 
54
char ini_path[] = "/sys/settings/system.ini";
-
 
55
_ini ini_drivers = { #ini_path, "loaded drivers" };
Line 54... Line 56...
54
_ini ini = { "/sys/settings/system.ini", "loaded drivers" };
56
_ini ini_mouse = { #ini_path, "mouse" };
55
 
57
 
56
void main() {
58
void main() {
Line 61... Line 63...
61
	
63
	
Line 62... Line 64...
62
	LoadCfg();
64
	LoadCfg();
Line 63... Line 65...
63
 
65
 
64
	SetEventMask(EVM_REDRAW+EVM_KEY+EVM_BUTTON+EVM_MOUSE+EVM_MOUSE_FILTER);	
66
	SetEventMask(EVM_REDRAW+EVM_KEY+EVM_BUTTON+EVM_MOUSE+EVM_MOUSE_FILTER);	
65
 
67
 
66
	loop() switch(WaitEvent())
68
	loop() switch(@WaitEvent())
67
	{
69
	{
68
		case evMouse:
70
		case evMouse:
69
				mouse.get();
71
				mouse.get();
Line 70... Line 72...
70
				IF (mouse_frame.hovered()) DrawMouseImage(mouse.lkm,mouse.pkm,mouse.mkm,mouse.vert);
72
				IF (mouse_frame.hovered()) DrawMouseImage(mouse.lkm,mouse.pkm,mouse.mkm,mouse.vert);
71
				IF (mouse.click) || (mouse.up) DrawMouseImage(0,0,0,0);
73
				IF (mouse.click) || (mouse.up) DrawMouseImage(0,0,0,0);
72
				break;
74
				break;
73
 
75
 
74
		CASE evButton: 
76
		CASE evButton: 
75
				id = GetButtonID();
77
				id = @GetButtonID();
76
				IF (1 == id) ExitApp();
78
				IF (1 == id) ExitApp();
Line 91... Line 93...
91
					EventClickComMouse();
93
					EventClickComMouse();
92
				}
94
				}
93
				break;
95
				break;
Line 94... Line 96...
94
 
96
 
95
		case evKey:
97
		case evKey:
96
				GetKeys();
98
				@GetKeyScancode();
97
				IF (key_scancode == SCAN_CODE_ESC) ExitApp();
99
				IF (AL == SCAN_CODE_ESC) ExitApp();
98
				IF (key_scancode == SCAN_CODE_F10) EventClickComMouse();
100
				IF (AL == SCAN_CODE_F10) EventClickComMouse();
Line 99... Line 101...
99
				break;
101
				break;
100
			
102
			
101
		case evReDraw:
103
		case evReDraw:
Line 123... Line 125...
123
:struct IMG_PAL{ dword back, shad1, contour, left,  right, middle, mwhite; }
125
:struct IMG_PAL{ dword back, shad1, contour, left,  right, middle, mwhite; }
124
         pal = { 0xF0F2F3,0xABB0B2, dgrey,   white, white, dgrey,  white  };
126
         pal = { 0xF0F2F3,0xABB0B2, dgrey,   white, white, dgrey,  white  };
Line 125... Line 127...
125
 
127
 
126
void DrawMouseImage(dword l,r,m,v) {
128
void DrawMouseImage(dword l,r,m,v) {
127
	#define IMG_W 59
129
	#define IMG_W 59
Line 128... Line 130...
128
	#define IMG_H 101
130
	#define IMG_H 100
129
 
131
 
130
	IF (l) pal.left = red;
132
	IF (l) pal.left = red;
131
	IF (m) pal.middle = red;
133
	IF (m) pal.middle = red;
Line 132... Line 134...
132
	IF (r) pal.right = red;
134
	IF (r) pal.right = red;
133
	IF (v) pal.middle = yellow;
135
	IF (v) pal.middle = yellow;
134
 
136
 
135
	PutPaletteImage(#panels_img_data,IMG_W,IMG_H,18+30,18+15,8,#pal);
137
	PutPaletteImage(#panels_img_data,IMG_W,IMG_H,18+30,18+16,8,#pal);
136
	pal.left = pal.right = white;
138
	pal.left = pal.right = white;
137
	pal.middle = dgrey;
139
	pal.middle = dgrey;
Line 151... Line 153...
151
	madmouse.draw(FRAME_X, y.inc(27));
153
	madmouse.draw(FRAME_X, y.inc(27));
152
	com_mouse.draw(FRAME_X, y.inc(27));
154
	com_mouse.draw(FRAME_X, y.inc(27));
153
}
155
}
Line 154... Line 156...
154
 
156
 
155
void LoadCfg() {
157
void LoadCfg() {
156
	acceleration.value = GetMouseAcceleration();
158
	acceleration.value = @GetMouseAcceleration();
157
	pointer_speed.value = GetMouseSpeed();
159
	pointer_speed.value = @GetMouseSpeed();
158
	double_click_delay.value = GetMouseDoubleClickDelay();
160
	double_click_delay.value = @GetMouseDoubleClickDelay();
159
	com_mouse.checked = ini.GetInt("com_mouse", 0);
161
	com_mouse.checked = ini_drivers.GetInt("com_mouse", 0);
160
	madmouse.checked = CheckProcessExists("MADMOUSE");
162
	madmouse.checked = CheckProcessExists("MADMOUSE");
161
	emulation.checked = CheckProcessExists("MOUSEMUL");
163
	emulation.checked = CheckProcessExists("MOUSEMUL");
Line 162... Line 164...
162
}
164
}
163
 
165
 
-
 
166
void ExitApp() {
-
 
167
	ini_drivers.SetInt("com_mouse", com_mouse.checked);
-
 
168
	ini_mouse.SetInt("speed", pointer_speed.value);
164
void ExitApp() {
169
	ini_mouse.SetInt("acceleration", acceleration.value);
165
	ini.SetInt("com_mouse", com_mouse.checked);
170
	ini_mouse.SetInt("double_click_delay", double_click_delay.value);
Line 166... Line 171...
166
	ExitProcess();
171
	@ExitProcess();
167
}
172
}
168
 
173
 
169
void ApplyCfg() {
174
void ApplyCfg() {
170
	SetMouseSpeed(pointer_speed.value);
175
	@SetMouseSpeed(pointer_speed.value);
Line 171... Line 176...
171
	SetMouseAcceleration(acceleration.value);
176
	@SetMouseAcceleration(acceleration.value);
172
	SetMouseDoubleClickDelay(double_click_delay.value);
177
	@SetMouseDoubleClickDelay(double_click_delay.value);
173
}
178
}
174
 
179
 
175
void EventClickComMouse()
180
void EventClickComMouse()
176
{
181
{
177
	if (!com_mouse.checked) 
182
	if (!com_mouse.checked) 
178
	{
-
 
179
		if (RunProgram("/sys/loaddrv", "COMMOUSE")>=0) {
183
	{
180
			notify(COMMOUSE_LOADED);
184
		if (RunProgram("/sys/loaddrv", "COMMOUSE")>=0) {
181
			com_mouse.click(com_mouse.id);
185
			notify(COMMOUSE_LOADED);
182
		}
-
 
183
		else {
186
			com_mouse.click(com_mouse.id);
184
			notify("'Error running LOADDRV' -E");
-
 
185
		}
187
		} else {
186
	}
188
			notify("'Error running LOADDRV' -E");
187
	else
189
		}
Line 188... Line 190...
188
	{
190
	} else {