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"); |