Rev 7372 | Rev 7437 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7372 | Rev 7434 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | // Mouse Configuration Utility ver 1.51 |
1 | // Mouse Configuration Utility ver 1.6 |
Line 2... | Line 2... | ||
2 | 2 | ||
3 | #ifndef AUTOBUILD |
3 | #ifndef AUTOBUILD |
4 | #include "lang.h--" |
4 | #include "lang.h--" |
Line 5... | Line 5... | ||
5 | #endif |
5 | #endif |
- | 6 | ||
6 | 7 | #define MEMSIZE 4096*11 |
|
7 | #define MEMSIZE 0x23E80 |
8 | |
8 | #include "..\lib\strings.h" |
9 | #include "..\lib\strings.h" |
9 | #include "..\lib\mem.h" |
10 | #include "..\lib\mem.h" |
10 | #include "..\lib\fs.h" |
11 | #include "..\lib\fs.h" |
Line 32... | Line 33... | ||
32 | ?define ACCELERATION_TEXT "Mouse pointer sensitivity" |
33 | ?define ACCELERATION_TEXT "Mouse pointer sensitivity" |
33 | ?define DOUBLE_CLICK_TEXT "Mouse double click delay" |
34 | ?define DOUBLE_CLICK_TEXT "Mouse double click delay" |
34 | ?define MOUSE_EMULATION "Enable mouse emulation using keyboard NumPad" |
35 | ?define MOUSE_EMULATION "Enable mouse emulation using keyboard NumPad" |
35 | ?define MADMOUSE "Through screen sides for pointer" |
36 | ?define MADMOUSE "Through screen sides for pointer" |
36 | #endif |
37 | #endif |
37 | proc_info Form; |
- | |
38 | - | ||
39 | block mouse_frame = { 18, 18, NULL, 130 }; |
- | |
40 | more_less_box pointer_speed = { NULL, 0, 64, POINTER_SPEED }; |
- | |
41 | more_less_box acceleration = { NULL, 0, 64, ACCELERATION_TEXT }; |
- | |
42 | more_less_box double_click_delay = { NULL, 0, 999, DOUBLE_CLICK_TEXT, 8 }; |
- | |
43 | checkbox emulation = { MOUSE_EMULATION, NULL }; |
- | |
44 | checkbox madmouse = { MADMOUSE, NULL }; |
- | |
Line -... | Line 38... | ||
- | 38 | ||
45 | 39 | :block mouse_frame = { 18, 18, NULL, 130 }; |
|
- | 40 | :more_less_box pointer_speed = { NULL, 0, 64, POINTER_SPEED }; |
|
- | 41 | :more_less_box acceleration = { NULL, 0, 64, ACCELERATION_TEXT }; |
|
46 | unsigned char panels_img_data[] = FROM "mouse_image.raw"; |
42 | :more_less_box double_click_delay = { NULL, 0, 999, DOUBLE_CLICK_TEXT, 8 }; |
- | 43 | :checkbox emulation = { MOUSE_EMULATION, NULL }; |
|
Line 47... | Line 44... | ||
47 | raw_image panels_img = { 59, 101, #panels_img_data }; |
44 | :checkbox madmouse = { MADMOUSE, NULL }; |
Line 48... | Line -... | ||
48 | - | ||
49 | _ini ini = { "/sys/settings/system.ini", "mouse" }; |
- | |
50 | - | ||
51 | dword click_status; |
- | |
52 | 45 | ||
- | 46 | _ini ini = { "/sys/settings/system.ini", "mouse" }; |
|
53 | 47 | ||
Line 54... | Line 48... | ||
54 | 48 | void main() { |
|
55 | void main() { |
49 | proc_info Form; |
Line 64... | Line 58... | ||
64 | 58 | ||
65 | loop() switch(WaitEvent()) |
59 | loop() switch(WaitEvent()) |
66 | { |
60 | { |
67 | case evMouse: |
61 | case evMouse: |
68 | mouse.get(); |
62 | mouse.get(); |
69 | if (mouse.down) && (click_status==0) && (mouse_frame.hovered()) { |
- | |
70 | if (mouse.key&MOUSE_LEFT) click_status = 1; |
- | |
71 | if (mouse.key&MOUSE_RIGHT) click_status = 2; |
- | |
72 | if (mouse.key&MOUSE_CENTER) click_status = 3; |
63 | IF (mouse_frame.hovered()) DrawMouseImage(mouse.lkm,mouse.pkm,mouse.mkm, mouse.vert); |
73 | DrawMouseImage(); |
- | |
74 | } |
- | |
75 | if (mouse.up) { |
- | |
76 | click_status=0; |
- | |
77 | DrawMouseImage(); |
- | |
78 | } |
64 | IF (mouse.up) DrawMouseImage(0,0,0,0); |
Line 79... | Line 65... | ||
79 | break; |
65 | break; |
80 | 66 | ||
81 | case evButton: |
67 | CASE evButton: |
82 | id = GetButtonID(); |
68 | id = GetButtonID(); |
83 | if (1 == id) ExitApp(); |
69 | IF (1 == id) ExitApp(); |
84 | else if (pointer_speed.click(id)) ApplyCfg(); |
70 | else IF (pointer_speed.click(id)) ApplyCfg(); |
85 | else if (acceleration.click(id)) ApplyCfg(); |
71 | else IF (acceleration.click(id)) ApplyCfg(); |
86 | else if (double_click_delay.click(id)) ApplyCfg(); |
72 | else IF (double_click_delay.click(id)) ApplyCfg(); |
87 | else if (emulation.click(id)) { |
73 | ELSE IF (emulation.click(id)) { |
88 | if (emulation.checked == true) RunProgram("/sys/mousemul", 0); |
74 | IF (emulation.checked == true) RunProgram("/sys/mousemul", 0); |
89 | else KillProcessByName("/sys/mousemul", SINGLE); |
75 | ELSE KillProcessByName("/sys/mousemul", SINGLE); |
90 | break; |
76 | break; |
91 | } |
77 | } |
92 | else if (madmouse.click(id)) { |
78 | ELSE IF (madmouse.click(id)) { |
93 | if (madmouse.checked == true) RunProgram("/sys/madmouse", 0); |
79 | IF (madmouse.checked == true) RunProgram("/sys/madmouse", 0); |
94 | else KillProcessByName("/sys/madmouse", SINGLE); |
80 | ELSE KillProcessByName("/sys/madmouse", SINGLE); |
95 | break; |
81 | break; |
Line 96... | Line 82... | ||
96 | } |
82 | } |
97 | break; |
83 | break; |
98 | 84 | ||
99 | case evKey: |
85 | case evKey: |
Line 100... | Line 86... | ||
100 | GetKeys(); |
86 | GetKeys(); |
101 | if (key_scancode == SCAN_CODE_ESC) ExitApp(); |
87 | IF (key_scancode == SCAN_CODE_ESC) ExitApp(); |
102 | break; |
88 | break; |
103 | 89 | ||
104 | case evReDraw: |
90 | case evReDraw: |
105 | system.color.get(); |
91 | system.color.get(); |
106 | DefineAndDrawWindow(430, 150, 424, 310+skin_height,0x34,system.color.work,WINDOW_TITLE,0); |
92 | DefineAndDrawWindow(430, 150, 424, 313+skin_height,0x34,system.color.work,WINDOW_TITLE,0); |
107 | GetProcessInfo(#Form, SelfInfo); |
93 | GetProcessInfo(#Form, SelfInfo); |
108 | if (Form.status_window>2) break; |
94 | if (Form.status_window>2) break; |
109 | mouse_frame.w = - mouse_frame.x * 2 + Form.cwidth; |
95 | mouse_frame.w = - mouse_frame.x * 2 + Form.cwidth; |
110 | DefineButton(mouse_frame.x, mouse_frame.y, mouse_frame.w, |
96 | DefineButton(mouse_frame.x, mouse_frame.y, mouse_frame.w, |
111 | mouse_frame.h, 99+BT_NOFRAME, 0xF0F2F3); //needed to handle mouse_up and refresh mouse image |
97 | mouse_frame.h, 99+BT_NOFRAME, 0xF0F2F3); //needed to handle mouse_up and refresh mouse image |
112 | WriteText(mouse_frame.x + 110, mouse_frame.y + 25, 0x90, 0x2C343C, CHECK_MOUSE_1); |
98 | WriteText(mouse_frame.x + 110, mouse_frame.y + 25, 0x90, 0x2C343C, CHECK_MOUSE_1); |
113 | WriteText(mouse_frame.x + 110, mouse_frame.y + 45, 0x90, 0x2C343C, CHECK_MOUSE_2); |
99 | WriteText(mouse_frame.x + 110, mouse_frame.y + 45, 0x90, 0x2C343C, CHECK_MOUSE_2); |
Line -... | Line 100... | ||
- | 100 | DrawMouseImage(0,0,0,0); |
|
Line -... | Line 101... | ||
- | 101 | DrawControls(); |
|
- | 102 | } |
|
- | 103 | } |
|
- | 104 | ||
- | 105 | :byte panels_img_data[] = FROM "mouse_image.raw"; |
|
- | 106 | ||
- | 107 | #define red 0xff0000 |
|
- | 108 | #define yellow 0xfff600 |
|
114 | DrawMouseImage(); |
109 | #define white 0xffffff |
- | 110 | #define dgrey 0x2d353d |
|
- | 111 | ||
- | 112 | :struct IMG_PAL{ dword back, shad1, mbody, left, right, middle, white; } |
|
- | 113 | pal = { 0xF0F2F3,0xABB0B2, dgrey, white, white, dgrey, white }; |
|
- | 114 | ||
- | 115 | void DrawMouseImage(dword l,r,m,v) { |
|
- | 116 | #define IMG_W 59 |
|
- | 117 | #define IMG_H 101 |
|
115 | DrawControls(); |
118 | |
116 | } |
119 | IF (l) pal.left = red; |
- | 120 | IF (m) pal.middle = red; |
|
- | 121 | IF (r) pal.right = red; |
|
- | 122 | IF (v) pal.middle = yellow; |
|
- | 123 | ||
- | 124 | PutPaletteImage(#panels_img_data,IMG_W,IMG_H,18+30,18+15,8,#pal); |
|
117 | } |
125 | pal.left = pal.right = white; |
Line 118... | Line 126... | ||
118 | 126 | pal.middle = dgrey; |
|
119 | 127 | if (v) { |
|
120 | void DrawMouseImage() { |
128 | pause(10); |