Rev 5670 | Rev 5680 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5670 | Rev 5677 | ||
---|---|---|---|
Line 15... | Line 15... | ||
15 | format binary as "" |
15 | format binary as "" |
Line 16... | Line 16... | ||
16 | 16 | ||
17 | __DEBUG__ = 1 |
17 | __DEBUG__ = 1 |
Line -... | Line 18... | ||
- | 18 | __DEBUG_LEVEL__ = 2 |
|
- | 19 | ||
18 | __DEBUG_LEVEL__ = 2 |
20 | BITS_PER_PIXEL = 8 ; 8, 16 24 |
Line 19... | Line 21... | ||
19 | 21 | ||
Line 20... | Line 22... | ||
20 | use32 |
22 | use32 |
Line 79... | Line 81... | ||
79 | STATUS_PROTO_ERR = 14 |
81 | STATUS_PROTO_ERR = 14 |
80 | STATUS_SECURITY_ERR = 15 |
82 | STATUS_SECURITY_ERR = 15 |
81 | STATUS_LIB_ERR = 16 |
83 | STATUS_LIB_ERR = 16 |
82 | STATUS_THREAD_ERR = 17 |
84 | STATUS_THREAD_ERR = 17 |
Line -... | Line 85... | ||
- | 85 | ||
83 | 86 | include "keymap.inc" |
|
84 | include "gui.inc" |
87 | include "gui.inc" |
85 | include "network.inc" |
88 | include "network.inc" |
86 | include "raw.inc" |
89 | include "raw.inc" |
87 | include "copyrect.inc" |
90 | include "copyrect.inc" |
Line 112... | Line 115... | ||
112 | mcall 67, 10, 10 ; resize the window |
115 | mcall 67, 10, 10 ; resize the window |
Line 113... | Line 116... | ||
113 | 116 | ||
Line 114... | Line 117... | ||
114 | mcall 40, EVM_MOUSE + EVM_MOUSE_FILTER + EVM_KEY + EVM_REDRAW + EVM_BUTTON |
117 | mcall 40, EVM_MOUSE + EVM_MOUSE_FILTER + EVM_KEY + EVM_REDRAW + EVM_BUTTON |
- | 118 | ||
115 | 119 | mcall 66, 1, 1 ; Switch keyboard to scancode mode |
|
Line 116... | Line 120... | ||
116 | mcall 66, 1, 1 ; Switch keyboard to scancode mode |
120 | |
117 | mcall 26, 2, 1, keymap ; Read keymap |
121 | call generate_keymap |
Line 118... | Line 122... | ||
118 | 122 | ||
Line 149... | Line 153... | ||
149 | sub eax, 3 |
153 | sub eax, 3 |
150 | jz mouse |
154 | jz mouse |
151 | jmp mainloop |
155 | jmp mainloop |
Line 152... | Line 156... | ||
152 | 156 | ||
- | 157 | key: |
|
- | 158 | mcall 66, 3 |
|
- | 159 | mov ebx, eax |
|
153 | key: |
160 | |
154 | mcall 2 |
161 | mcall 2 |
155 | cmp ah, 224 ; ext |
162 | cmp ah, 224 ; ext |
Line 156... | Line 163... | ||
156 | je mainloop ;; TODO |
163 | je mainloop ;; TODO |
Line 160... | Line 167... | ||
160 | jnz @f |
167 | jnz @f |
161 | inc al |
168 | inc al |
162 | @@: |
169 | @@: |
163 | mov byte[KeyEvent.down], al |
170 | mov byte[KeyEvent.down], al |
Line 164... | Line 171... | ||
164 | 171 | ||
165 | shr eax, 8 |
172 | shr eax, 7 |
166 | and al, 0x7f |
- | |
167 | mov al, [keymap+eax] |
- | |
168 | mov byte[KeyEvent.key+3], al |
- | |
169 | - | ||
Line -... | Line 173... | ||
- | 173 | and eax, 0x000000fe |
|
- | 174 | ||
- | 175 | test ebx, 100000b ; alt? |
|
- | 176 | jz @f |
|
- | 177 | add eax, 512 |
|
- | 178 | jmp .key |
|
- | 179 | @@: |
|
- | 180 | test ebx, 11b ; shift? |
|
- | 181 | jz @f |
|
- | 182 | add eax, 256 |
|
- | 183 | @@: |
|
- | 184 | .key: |
|
- | 185 | mov ax, [keymap+eax] |
|
170 | DEBUGF 1, "Sending key: 0x%x\n", al |
186 | mov word[KeyEvent.key+2], ax |
171 | 187 | DEBUGF 1, "Sending key: 0x%x\n", ax |
|
Line -... | Line 188... | ||
- | 188 | mcall send, [socketnum], KeyEvent, 8, 0 |
|
172 | mcall send, [socketnum], KeyEvent, 8, 0 |
189 | jmp mainloop |
173 | jmp mainloop |
190 | |
Line 174... | Line 191... | ||
174 | 191 | ||
175 | mouse: |
192 | mouse: |
176 | ; DEBUGF 1, "Sending mouse event\n" |
193 | ; DEBUGF 1, "Sending pointer event\n" |
177 | 194 | ||
Line 191... | Line 208... | ||
191 | mcall send, [socketnum], PointerEvent, 6, 0 |
208 | mcall send, [socketnum], PointerEvent, 6, 0 |
192 | jmp mainloop |
209 | jmp mainloop |
Line 193... | Line 210... | ||
193 | 210 | ||
194 | button: |
211 | button: |
- | 212 | mcall 17 ; get id |
|
195 | mcall 17 ; get id |
213 | mcall close, [socketnum] |
Line 196... | Line 214... | ||
196 | mcall -1 |
214 | mcall -1 |
Line 216... | Line 234... | ||
216 | .red_shif db 0 ; red-shift |
234 | .red_shif db 0 ; red-shift |
217 | .green_shift db 8 ; green-shift |
235 | .green_shift db 8 ; green-shift |
218 | .blue_shift db 16 ; blue-shift |
236 | .blue_shift db 16 ; blue-shift |
219 | db 0, 0, 0 ; padding |
237 | db 0, 0, 0 ; padding |
Line -... | Line 238... | ||
- | 238 | ||
- | 239 | SetPixelFormat24 db 0 ; setPixelformat |
|
- | 240 | db 0, 0, 0 ; padding |
|
- | 241 | .bpp db 24 ; bits per pixel |
|
- | 242 | .depth db 24 ; depth |
|
- | 243 | .big_endian db 0 ; big-endian flag |
|
- | 244 | .true_color db 1 ; true-colour flag |
|
- | 245 | .red_max db 0, 255 ; red-max |
|
- | 246 | .green_max db 0, 255 ; green-max |
|
- | 247 | .blue_max db 0, 255 ; blue-max |
|
- | 248 | .red_shift db 16 ; red-shift |
|
- | 249 | .green_shift db 8 ; green-shift |
|
- | 250 | .blue_shift db 0 ; blue-shift |
|
- | 251 | db 0, 0, 0 ; padding |
|
220 | 252 | ||
221 | SetPixelFormat16 db 0 ; setPixelformat |
253 | SetPixelFormat16 db 0 ; setPixelformat |
222 | db 0, 0, 0 ; padding |
254 | db 0, 0, 0 ; padding |
223 | .bpp db 16 ; bits per pixel |
255 | .bpp db 16 ; bits per pixel |
224 | .depth db 15 ; depth |
256 | .depth db 16 ; depth |
225 | .big_endian db 0 ; big-endian flag |
257 | .big_endian db 0 ; big-endian flag |
226 | .true_color db 1 ; true-colour flag |
258 | .true_color db 1 ; true-colour flag |
227 | .red_max db 0, 31 ; red-max |
259 | .red_max db 0, 31 ; red-max |
228 | .green_max db 0, 31 ; green-max |
260 | .green_max db 0, 63 ; green-max |
229 | .blue_max db 0, 31 ; blue-max |
261 | .blue_max db 0, 31 ; blue-max |
230 | .red_shif db 0 ; red-shift |
262 | .red_shift db 11 ; red-shift |
231 | .green_shift db 5 ; green-shift |
263 | .green_shift db 5 ; green-shift |
232 | .blue_shift db 10 ; blue-shift |
264 | .blue_shift db 0 ; blue-shift |
Line 233... | Line 265... | ||
233 | db 0, 0, 0 ; padding |
265 | db 0, 0, 0 ; padding |
234 | 266 | ||
235 | SetPixelFormat8 db 0 ; setPixelformat |
267 | SetPixelFormat8 db 0 ; setPixelformat |
236 | db 0, 0, 0 ; padding |
268 | db 0, 0, 0 ; padding |
237 | .bpp db 8 ; bits per pixel |
269 | .bpp db 8 ; bits per pixel |
238 | .depth db 6 ; depth |
270 | .depth db 8 ; depth |
239 | .big_endian db 0 ; big-endian flag |
271 | .big_endian db 0 ; big-endian flag |
240 | .true_color db 1 ; true-colour flag |
272 | .true_color db 1 ; true-colour flag |
241 | .red_max db 0, 3 ; red-max |
273 | .red_max db 0, 7 ; red-max |
242 | .green_max db 0, 3 ; green-max |
274 | .green_max db 0, 7 ; green-max |
243 | .blue_max db 0, 3 ; blue-max |
275 | .blue_max db 0, 3 ; blue-max |
244 | .red_shif db 0 ; red-shift |
276 | .red_shift db 0 ; red-shift |
245 | .green_shift db 2 ; green-shift |
277 | .green_shift db 3 ; green-shift |
Line 246... | Line 278... | ||
246 | .blue_shift db 4 ; blue-shift |
278 | .blue_shift db 6 ; blue-shift |
247 | db 0, 0, 0 ; padding |
279 | db 0, 0, 0 ; padding |
248 | 280 | ||
Line 369... | Line 401... | ||
369 | 401 | ||
370 | screen: ; Remote screen resolution |
402 | screen: ; Remote screen resolution |
371 | .height dw ? |
403 | .height dw ? |
Line 372... | Line 404... | ||
372 | .width dw ? |
404 | .width dw ? |
- | 405 | ||
- | 406 | keymap rw 128 |
|
373 | 407 | keymap_shift rw 128 |
|
374 | keymap rb 128 |
408 | keymap_alt rw 128 |
375 | username rb 128 |
409 | username rb 128 |
376 | password rb 128 |
410 | password rb 128 |
377 | serveraddr rb 65536 |
411 | serveraddr rb 65536 |
Line 378... | Line 412... | ||
378 | receive_buffer rb RECEIVE_BUFFER_SIZE |
412 | receive_buffer rb RECEIVE_BUFFER_SIZE |
379 | framebuffer_data rb 1024*1024*3 ; framebuffer |
413 | framebuffer_data rb 1280*1024*3 ; framebuffer |
380 | 414 | ||
381 | rb 0x1000 |
415 | rb 0x1000 |