Subversion Repositories Kolibri OS

Rev

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

Rev 5680 Rev 5693
Line 157... Line 157...
157
        jz      mouse
157
        jz      mouse
158
        jmp     mainloop
158
        jmp     mainloop
Line 159... Line 159...
159
 
159
 
160
key:
160
key:
161
        mcall   66, 3
161
        mcall   66, 3
Line 162... Line 162...
162
        mov     ebx, eax
162
        mov     ebx, eax        ; get modifier keys
163
 
163
 
164
        mcall   2
164
        mcall   2               ; get key scancode
Line 165... Line 165...
165
        cmp     ah, 224         ; ext
165
        cmp     ah, 224         ; extended keycode?
166
        je      mainloop        ;; TODO
166
        je      .extended
167
 
167
 
168
        xor     al, al
168
        xor     al, al
169
        test    ah, 0x80        ; key up?
169
        test    ah, 0x80        ; key up?
170
        jnz     @f
170
        jnz     @f
Line 171... Line 171...
171
        inc     al
171
        inc     al
172
  @@:
-
 
Line 173... Line 172...
173
        mov     byte[KeyEvent.down], al
172
  @@:
174
 
173
        mov     byte[KeyEvent.down], al
175
        shr     eax, 7
174
 
176
        and     eax, 0x000000fe
175
        movzx   eax, ah
177
 
176
 
-
 
177
        test    ebx, 100000b    ; alt?
178
        test    ebx, 100000b    ; alt?
178
        jz      .no_alt
-
 
179
        mov     ax, [keymap_alt+eax*2]
-
 
180
        jmp     .key
179
        jz      @f
181
  .no_alt:
-
 
182
 
-
 
183
        test    ebx, 11b        ; shift?
-
 
184
        jz      .no_shift
-
 
185
        mov     ax, [keymap_shift+eax*2]
-
 
186
        jmp     .key
-
 
187
  .no_shift:
-
 
188
 
-
 
189
        test    ebx, 10000000b  ; numlock ?
-
 
190
        jz      .no_numlock
-
 
191
        cmp     al, 71
-
 
192
        jb      .no_numlock
-
 
193
        cmp     al, 83
-
 
194
        ja      .no_numlock
-
 
195
        mov     ah, [keymap_numlock+eax-71]
180
        add     eax, 512
196
        xor     al, al
-
 
197
        jmp     .key
181
        jmp     .key
198
 
-
 
199
  .extended:                    ; extended keys always use regular keymap
182
  @@:
200
        mcall   2
183
        test    ebx, 11b        ; shift?
201
        shr     eax, 8
-
 
202
        jz      mainloop
184
        jz      @f
203
  .no_numlock:
185
        add     eax, 256
204
        mov     ax, [keymap+eax*2]
186
  @@:
205
  .key:
187
  .key:
206
        test    ax, ax
Line -... Line 207...
-
 
207
        jz      mainloop
188
        mov     ax, [keymap+eax]
208
        mov     word[KeyEvent.key+2], ax
189
        mov     word[KeyEvent.key+2], ax
209
        DEBUGF  1, "Sending key: 0x%x\n", ax
Line 190... Line 210...
190
        DEBUGF  1, "Sending key: 0x%x\n", ax
210
        mcall   send, [socketnum], KeyEvent, 8, 0
191
        mcall   send, [socketnum], KeyEvent, 8, 0
211
        jmp     mainloop
Line 220... Line 240...
220
 
240
 
Line 221... Line 241...
221
; DATA AREA
241
; DATA AREA
Line -... Line 242...
-
 
242
 
-
 
243
include_debug_strings
-
 
244
 
-
 
245
keymap_numlock:
-
 
246
        db      '7', '8', '9', '-'
-
 
247
        db      '4', '5', '6', '+'
222
 
248
        db      '1', '2', '3'
Line 223... Line 249...
223
include_debug_strings
249
        db      '0', '.'
Line 224... Line 250...
224
 
250
 
Line 321... Line 347...
321
status                  dd STATUS_INITIAL
347
status                  dd STATUS_INITIAL
322
update_gui              dd 0
348
update_gui              dd 0
323
mouse_dd                dd 0
349
mouse_dd                dd 0
324
update_framebuffer      dd 0
350
update_framebuffer      dd 0
Line 325... Line 351...
325
 
351
 
326
URLbox          edit_box 235, 70, 10, 0xffffff, 0x6f9480, 0, 0, 0, 65535, serveraddr, mouse_dd, ed_focus, 0, 0
352
URLbox          edit_box 235, 70, 20, 0xffffff, 0x6f9480, 0, 0, 0, 65535, serveraddr, mouse_dd, ed_focus, 0, 0
327
USERbox         edit_box 200, 90, 10, 0xffffff, 0x6f9480, 0, 0, 0, 127, username, mouse_dd, ed_focus, 0, 0
353
USERbox         edit_box 215, 90, 10, 0xffffff, 0x6f9480, 0, 0, 0, 127, username, mouse_dd, ed_focus, 0, 0
Line 328... Line 354...
328
PASSbox         edit_box 200, 90, 30, 0xffffff, 0x6f9480, 0, 0, 0, 127, password, mouse_dd, ed_pass, 0, 0
354
PASSbox         edit_box 215, 90, 30, 0xffffff, 0x6f9480, 0, 0, 0, 127, password, mouse_dd, ed_pass, 0, 0
329
 
355
 
330
serverstr       db "server:"
356
serverstr       db "server:"
331
userstr         db "username:"
357
userstr         db "username:"