Subversion Repositories Kolibri OS

Rev

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

Rev 5626 Rev 5630
Line 11... Line 11...
11
#include "..\lib\gui.h"
11
#include "..\lib\gui.h"
12
#include "..\lib\obj\libio_lib.h"
12
#include "..\lib\obj\libio_lib.h"
13
#include "..\lib\obj\box_lib.h"
13
#include "..\lib\obj\box_lib.h"
14
#include "..\lib\patterns\restart_process.h"
14
#include "..\lib\patterns\restart_process.h"
Line 15... Line 15...
15
 
15
 
-
 
16
#include "kos_mouse_functions.h"
-
 
17
 
-
 
18
#ifdef LANG_RUS
-
 
19
	?define WINDOW_TITLE "à®¢¥àª  ¨ ­ áâனª  ¯ à ¬¥â஢ ¬ëè¨"
-
 
20
	?define CHECK_MOUSE_1 " ¦¬¨â¥ ­  í⮩ ®¡« áâ¨"
-
 
21
	?define CHECK_MOUSE_2 "¤«ï ¯à®¢¥àª¨ ª­®¯®ª ¬ëè¨"
-
 
22
	?define POINTER_SPEED "‘ª®à®áâì 㪠§ â¥«ï ¬ëè¨"
-
 
23
	?define POINTER_DELAY "‡ ¤¥à¦ª  㪠§ â¥«ï ¬ëè¨"
-
 
24
	?define MOUSE_EMULATION "¬ã«ïæ¨ï ã¯à ¢«¥­¨ï 㪠§ â¥«¥¬ ç¥à¥§ ª« ¢¨ âãàã"
-
 
25
	?define MADMOUSE "‘ªà®§­ë¥ ¤«ï ªãàá®à  áâ®à®­ë íªà ­ "
-
 
26
	//?define MADMOUSE_DESCRIPTION "'When cursor reaches screen side switch it to inverce side' -I"
16
?define WINDOW_TITLE "Mouse configuration"
27
#else
17
?define MOUSE_FRAME_T " Mouse "
28
	?define WINDOW_TITLE "Mouse testing and configuration"
18
?define KEYBOARD_FRAME_T " Keyboard "
29
	?define CHECK_MOUSE_1 "Click on this area to"
19
?define CHECK_MOUSE "Click to check mouse"
30
	?define CHECK_MOUSE_2 "check your mouse buttons"
20
?define POINTER_SPEED "Mouse pointer speed"
31
	?define POINTER_SPEED "Mouse pointer speed"
21
?define POINTER_DELAY "Mouse pointer delay"
32
	?define POINTER_DELAY "Mouse pointer delay"
-
 
33
	?define MOUSE_EMULATION "Enable mouse emulation using keyboard NumPad"
22
?define MOUSE_EMULATION "Enable mouse emulation using keyboard NumPad"
34
	?define MADMOUSE "Through screen sides for pointer"
-
 
35
	//?define MADMOUSE_DESCRIPTION "'When cursor reaches screen side switch it to inverce side' -I"
Line 23... Line 36...
23
?define MADMOUSE "When cursor reaches screen side switch it to inverce side"
36
#endif
24
 
-
 
Line 25... Line 37...
25
frame mouse_frame = { 0, 000, 10, 160, 14, 0x000111, 0xFFFfff, 1, MOUSE_FRAME_T, 0, 0, 6, 0x000111, 0xCCCccc };
37
 
26
frame keyboard_frame = { 0, 000, 10, 73, 217, 0x000111, 0xFFFfff, 1, KEYBOARD_FRAME_T, 0, 0, 6, 0x000111, 0xCCCccc };
38
frame mouse_frame = { 0, 000, 14, 130, 14, 0x000111, 0xFFFfff, 0, 0, 0, 0, 6, 0x000111, 0xCCCccc };
Line 27... Line 39...
27
 
39
 
28
 
40
 
Line 29... Line 41...
29
unsigned char panels_img_data[] = FROM "panels_image.raw";
41
unsigned char panels_img_data[] = FROM "mouse_image.raw";
30
raw_image panels_img = { 37, 27, #panels_img_data };
42
raw_image panels_img = { 59, 101, #panels_img_data };
-
 
43
 
-
 
44
system_colors sc;
-
 
45
proc_info Form;
-
 
46
 
31
 
47
 
Line 32... Line 48...
32
system_colors sc;
48
struct mouse_cfg1 {
-
 
49
	char pointer_speed, 
33
proc_info Form;
50
	pointer_delay,
Line 34... Line 51...
34
 
51
	emulation, 
35
 
52
	madmouse, 
Line 36... Line 53...
36
struct mouse_cfg1 {
53
	button_clicked;
Line -... Line 54...
-
 
54
} mouse_cfg;
37
	byte pointer_speed, pointer_delay, emulation, madmouse;
55
 
38
} mouse_cfg;
56
 
-
 
57
void main() {
-
 
58
	char id, old_button_clicked;
-
 
59
	mouse m;
-
 
60
 
-
 
61
	mem_Init();
-
 
62
	load_dll(boxlib, #box_lib_init,0);
-
 
63
 
-
 
64
	LoadCfg();
-
 
65
 
-
 
66
	SetEventMask(0x27);
-
 
67
	loop() switch(WaitEvent())
-
 
68
	{
39
 
69
		case evMouse:
40
 
70
				m.get();
-
 
71
				if (m.y <= mouse_frame.start_y) || (m.y >= mouse_frame.start_y + mouse_frame.size_y) 
-
 
72
				|| (m.x >= mouse_frame.start_x + mouse_frame.size_x) || (m.x <= mouse_frame.start_x) break;
41
void main() {
73
				old_button_clicked = mouse_cfg.button_clicked;
-
 
74
				if (m.lkm) mouse_cfg.button_clicked=1;
-
 
75
				else if (m.pkm) mouse_cfg.button_clicked=2;
-
 
76
				else if (m.mkm) mouse_cfg.button_clicked=3;
-
 
77
				else mouse_cfg.button_clicked=0;
-
 
78
				if (mouse_cfg.button_clicked != old_button_clicked) DrawMouseImage();
-
 
79
				break;
42
	dword id;
80
 
43
 
81
		case evButton: 
44
	mem_Init();
82
				id=GetButtonID();
45
	load_dll(boxlib, #box_lib_init,0);
-
 
46
 
83
				if (id==1)
47
	LoadCfg();
84
				{
48
 
85
					ExitProcess();
49
	loop() switch(WaitEvent())
86
				}
50
	{
87
				if (id==99) 
-
 
88
				{
51
		case evButton: 
89
					mouse_cfg.button_clicked=0;
52
				id=GetButtonID();
90
					DrawMouseImage();
53
				if (id==1) ExitProcess();
91
					break;
54
 
92
				}
55
				if (id>=100) && (id<200)
93
				if (id==100)
56
				{
-
 
-
 
94
				{
57
					if (id==100) {
95
					if (mouse_cfg.emulation==true) KillProcessByName("mousemul", SINGLE);
58
						if (mouse_cfg.emulation==true) KillProcessByName("mousemul", SINGLE);
96
					else RunProgram("/sys/mousemul", 0);
59
						else RunProgram("/sys/mousemul", 0);
-
 
60
						mouse_cfg.emulation ^= 1;
97
					mouse_cfg.emulation ^= 1;
-
 
98
				}
-
 
99
				if (id==101) 
-
 
100
				{
-
 
101
					if (mouse_cfg.madmouse==true) KillProcessByName("madmouse", SINGLE);
-
 
102
					else RunProgram("/sys/madmouse", 0);
-
 
103
					mouse_cfg.madmouse ^= 1;
-
 
104
				}
-
 
105
				if (id==120) 
-
 
106
				{
-
 
107
					mouse_cfg.pointer_speed++;
-
 
108
					SetMouseSpeed(mouse_cfg.pointer_speed);
-
 
109
				}
-
 
110
				if (id==121) && (mouse_cfg.pointer_speed>0)
-
 
111
				{
-
 
112
					mouse_cfg.pointer_speed--;
-
 
113
					SetMouseSpeed(mouse_cfg.pointer_speed);
61
					}
114
				}
Line 62... Line 115...
62
					if (id==101) {
115
				if (id==122)
63
						if (mouse_cfg.madmouse==true) KillProcessByName("madmouse", SINGLE);
116
				{
64
						else RunProgram("/sys/madmouse", 0);
117
					mouse_cfg.pointer_delay++;
Line 65... Line 118...
65
						mouse_cfg.madmouse ^= 1;
118
					SetMouseDelay(mouse_cfg.pointer_delay);
66
					}
119
				}
67
					if (id==120) mouse_cfg.pointer_speed++;
120
				if (id==123) && (mouse_cfg.pointer_delay>0)
68
					if (id==121) && (mouse_cfg.pointer_speed>0) mouse_cfg.pointer_speed--;
121
				{
69
					if (id==122) mouse_cfg.pointer_delay++;
122
					mouse_cfg.pointer_delay--;
70
					if (id==123) && (mouse_cfg.pointer_delay>0) mouse_cfg.pointer_delay--;
123
					SetMouseDelay(mouse_cfg.pointer_delay);
71
					DrawWindowContent();
124
				}
72
				}
125
				DrawWindowContent();
73
				break;
126
				break;
74
				
127
				
75
		case evKey:
128
		case evKey:
76
				if (GetKey()==27) ExitProcess();
129
				if (GetKey()==27) ExitProcess();
Line 77... Line 130...
77
				break;
130
				break;
78
			
131
			
Line -... Line 132...
-
 
132
		case evReDraw:
79
		case evReDraw:
133
				sc.get();
-
 
134
				DefineAndDrawWindow(430, 150, 360, 280+GetSkinHeight(),0x34,sc.work,WINDOW_TITLE);
-
 
135
				GetProcessInfo(#Form, SelfInfo);
-
 
136
				if (Form.status_window>2) break;
Line 80... Line -...
80
				sc.get();
-
 
81
				DefineAndDrawWindow(130, 150, 430, 200+GetSkinHeight(),0x34,sc.work,WINDOW_TITLE);
-
 
82
				GetProcessInfo(#Form, SelfInfo);
-
 
83
				if (Form.status_window>2) break;
-
 
84
				mouse_frame.size_x = keyboard_frame.size_x = - mouse_frame.start_x * 2 + Form.cwidth;
137
				mouse_frame.size_x = - mouse_frame.start_x * 2 + Form.cwidth;
85
				mouse_frame.font_color = keyboard_frame.font_color = sc.work_text;
138
				mouse_frame.font_color = sc.work_text;
Line 86... Line 139...
86
				mouse_frame.font_backgr_color = keyboard_frame.font_backgr_color = sc.work;
139
				mouse_frame.font_backgr_color = sc.work;
87
				mouse_frame.ext_col = keyboard_frame.ext_col = sc.work_graph;
140
				mouse_frame.ext_col = sc.work_graph;
88
				DrawWindowContent();
141
				DrawWindowContent();
Line 89... Line 142...
89
	}
142
	}
90
}
143
}
Line 114... Line 167...
114
 
167
 
115
void PanelCfg_MoreLessBox(dword x, y, id_more, id_less; byte value; dword text) {
168
void PanelCfg_MoreLessBox(dword x, y, id_more, id_less; byte value; dword text) {
116
	MoreLessBox(x, y, 18, id_more, id_less, #sc, value, text);
169
	MoreLessBox(x, y, 18, id_more, id_less, #sc, value, text);
Line -... Line 170...
-
 
170
}
-
 
171
 
-
 
172
void DrawMouseImage() {
Line 117... Line 173...
117
}
173
	_PutImage(mouse_frame.start_x+30, mouse_frame.start_y + 15,  panels_img.w, panels_img.h, mouse_cfg.button_clicked * panels_img.w * panels_img.h * 3 + panels_img.data);
118
 
174
}
119
 
175
 
120
void LoadCfg() {
176
void LoadCfg() {
121
	mouse_cfg.pointer_delay = 10;
-
 
122
	mouse_cfg.pointer_speed = 2;
177
	mouse_cfg.pointer_delay = GetMouseDelay();
123
	//CheckProcessExists("MADMOUSE");
-
 
124
	mouse_cfg.madmouse = 0;
178
	mouse_cfg.pointer_speed = GetMouseSpeed();
Line -... Line 179...
-
 
179
	mouse_cfg.madmouse = CheckProcessExists("MADMOUSE");
-
 
180
	mouse_cfg.emulation = CheckProcessExists("MOUSEMUL");
125
	//CheckProcessExists("MOUSEMUL");
181
}
126
	mouse_cfg.emulation = 0;
182