Subversion Repositories Kolibri OS

Rev

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

Rev 7243 Rev 7244
Line 32... Line 32...
32
	?define ACCELERATION_TEXT "Mouse pointer sensitivity"
32
	?define ACCELERATION_TEXT "Mouse pointer sensitivity"
33
	?define DOUBLE_CLICK_TEXT "Mouse double click delay"
33
	?define DOUBLE_CLICK_TEXT "Mouse double click delay"
34
	?define MOUSE_EMULATION "Enable mouse emulation using keyboard NumPad"
34
	?define MOUSE_EMULATION "Enable mouse emulation using keyboard NumPad"
35
	?define MADMOUSE "Through screen sides for pointer"
35
	?define MADMOUSE "Through screen sides for pointer"
36
#endif
36
#endif
37
 
-
 
38
proc_info Form;
37
proc_info Form;
Line 39... Line -...
39
 
-
 
40
#define PD 18 //padding
38
 
41
block mouse_frame = { PD, PD, NULL, 130 };
-
 
42
 
39
block mouse_frame = { 18, 18, NULL, 130 };
43
more_less_box pointer_speed      = { NULL, 0, 64, POINTER_SPEED };
40
more_less_box pointer_speed      = { NULL, 0, 64, POINTER_SPEED };
44
more_less_box acceleration       = { NULL, 0, 64, ACCELERATION_TEXT };
41
more_less_box acceleration       = { NULL, 0, 64, ACCELERATION_TEXT };
Line -... Line 42...
-
 
42
more_less_box double_click_delay = { NULL, 0, 999, DOUBLE_CLICK_TEXT, 8 };
-
 
43
 
-
 
44
checkbox emulation = { MOUSE_EMULATION, NULL };
45
more_less_box double_click_delay = { NULL, 0, 999, DOUBLE_CLICK_TEXT, 8 };
45
checkbox madmouse = { MADMOUSE, NULL };
46
 
46
 
Line 47... Line 47...
47
unsigned char panels_img_data[] = FROM "mouse_image.raw";
47
unsigned char panels_img_data[] = FROM "mouse_image.raw";
Line 48... Line -...
48
raw_image panels_img = { 59, 101, #panels_img_data };
-
 
49
 
-
 
50
_ini ini = { "/sys/settings/system.ini", "mouse" };
-
 
51
 
-
 
52
struct _mouse_cfg {
48
raw_image panels_img = { 59, 101, #panels_img_data };
Line 53... Line 49...
53
	bool emulation;
49
 
54
	bool madmouse;
50
_ini ini = { "/sys/settings/system.ini", "mouse" };
-
 
51
 
Line 55... Line 52...
55
	int click_status;
52
 
56
} mouse_cfg;
53
 
Line 57... Line 54...
57
 
54
 
Line 68... Line 65...
68
 
65
 
69
	loop() switch(WaitEvent())
66
	loop() switch(WaitEvent())
70
	{
67
	{
71
		case evMouse:
68
		case evMouse:
72
				mouse.get();
69
				mouse.get();
73
				if (mouse.down) && (mouse_cfg.click_status==0) && (mouse_frame.hovered()) {
70
				if (mouse.down) && (click_status==0) && (mouse_frame.hovered()) {
74
					if (mouse.key&MOUSE_LEFT) mouse_cfg.click_status = 1;
71
					if (mouse.key&MOUSE_LEFT) click_status = 1;
75
					if (mouse.key&MOUSE_RIGHT) mouse_cfg.click_status = 2;
72
					if (mouse.key&MOUSE_RIGHT) click_status = 2;
76
					if (mouse.key&MOUSE_CENTER) mouse_cfg.click_status = 3;
73
					if (mouse.key&MOUSE_CENTER) click_status = 3;
77
					DrawMouseImage();
74
					DrawMouseImage(click_status);
78
				}
75
				}
79
				if (mouse.up) {
76
				if (mouse.up) {
80
					mouse_cfg.click_status=0;
77
					click_status=0;
81
					DrawMouseImage();
78
					DrawMouseImage(click_status);
82
				}
79
				}
Line 83... Line 80...
83
				break;
80
				break;
84
 
81
 
85
		case evButton: 
-
 
86
				id = GetButtonID();
-
 
87
				switch (id) {
82
		case evButton: 
88
					case 1:
-
 
89
						ExitApp();
-
 
90
						break;
-
 
91
					case 100:
-
 
92
						if (mouse_cfg.emulation==true) KillProcessByName("mousemul", SINGLE);
-
 
93
						else RunProgram("/sys/mousemul", 0);
-
 
94
						mouse_cfg.emulation ^= 1;
-
 
95
						DrawControls();
-
 
96
						break;
-
 
97
					case 101: 
-
 
98
						if (mouse_cfg.madmouse==true) KillProcessByName("madmouse", SINGLE);
-
 
99
						else RunProgram("/sys/madmouse", 0);
-
 
100
						mouse_cfg.madmouse ^= 1;
-
 
101
						DrawControls();
-
 
102
						break;
83
				id = GetButtonID();
103
					default:
84
				if (1==id) ExitApp();
104
						if (pointer_speed.click(id)) ApplyCfg();;
85
				if (pointer_speed.click(id)) ApplyCfg();;
-
 
86
				if (acceleration.click(id)) ApplyCfg();;
-
 
87
				if (double_click_delay.click(id)) ApplyCfg();;
-
 
88
				if (emulation.click(id)) {
-
 
89
					if (emulation.checked==true) KillProcessByName("mousemul", SINGLE);
-
 
90
					else RunProgram("/sys/mousemul", 0);
-
 
91
				}
-
 
92
				if (madmouse.click(id)) {						
105
						if (acceleration.click(id)) ApplyCfg();;
93
					if (madmouse.checked==true) KillProcessByName("madmouse", SINGLE);
106
						if (double_click_delay.click(id)) ApplyCfg();;
94
					else RunProgram("/sys/madmouse", 0);
Line 107... Line 95...
107
				}
95
				}
108
				break;
96
				break;
Line 126... Line 114...
126
				DrawControls();
114
				DrawControls();
127
	}
115
	}
128
}
116
}
Line 129... Line 117...
129
 
117
 
130
 
118
 
131
void DrawMouseImage() {
119
void DrawMouseImage(dword status) {
132
	_PutImage(mouse_frame.x+30, mouse_frame.y + 15,  panels_img.w, panels_img.h, 
120
	_PutImage(mouse_frame.x+30, mouse_frame.y + 15,  panels_img.w, panels_img.h, 
Line 133... Line 121...
133
		mouse_cfg.click_status * panels_img.w * panels_img.h * 3 + panels_img.data);
121
		status * panels_img.w * panels_img.h * 3 + panels_img.data);
-
 
122
}
-
 
123
 
-
 
124
void DrawControls() {
134
}
125
	int x = mouse_frame.x;
135
 
126
	incn y;
136
void DrawControls() {
127
	y.n = mouse_frame.y+115;
137
	pointer_speed.draw(PD, PD+142);
128
	pointer_speed.draw(x, y.inc(30));
138
	acceleration.draw(PD, PD+172);
129
	acceleration.draw(x, y.inc(30));
139
	double_click_delay.draw(PD+202);
130
	double_click_delay.draw(x, y.inc(30));
Line 140... Line 131...
140
	CheckBox(mouse_frame.x, mouse_frame.y + 236, 100, MOUSE_EMULATION, mouse_cfg.emulation);
131
	emulation.draw(x, y.inc(33));
141
	CheckBox(mouse_frame.x, mouse_frame.y + 262, 101, MADMOUSE, mouse_cfg.madmouse);
132
	madmouse.draw(x, y.inc(27));
142
}
133
}
143
 
134
 
144
void LoadCfg() {
135
void LoadCfg() {
145
	acceleration.value = ini.GetInt("acceleration", GetMouseAcceleration());
136
	acceleration.value = ini.GetInt("acceleration", GetMouseAcceleration());
146
	pointer_speed.value = ini.GetInt("speed", GetMouseSpeed());
137
	pointer_speed.value = ini.GetInt("speed", GetMouseSpeed());
Line 147... Line 138...
147
	double_click_delay.value = ini.GetInt("double_click_delay", GetMouseDoubleClickDelay());
138
	double_click_delay.value = ini.GetInt("double_click_delay", GetMouseDoubleClickDelay());
148
	mouse_cfg.madmouse = CheckProcessExists("MADMOUSE");
139
	madmouse.checked = CheckProcessExists("MADMOUSE");
149
	mouse_cfg.emulation = CheckProcessExists("MOUSEMUL");
140
	emulation.checked = CheckProcessExists("MOUSEMUL");