Subversion Repositories Kolibri OS

Rev

Rev 1343 | Rev 1456 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1338 IgorA 1
;---  фрээ√х яЁюуЁрьь√  ----------------------------------------------
2
fn_col_option dd def_col_file
3
fn_syntax_dir db 'info/',0
4
def_col_file db 'default.syn',0
5
 
6
system_dir0 db '/sys/lib/'
7
boxlib_name db 'box_lib.obj',0
8
 
9
system_dir1 db '/sys/lib/'
10
msgbox_name db 'msgbox.obj',0
11
 
12
fn_icon_tl_sys db 'tl_sys_16.bmp',0
13
fn_icon_tl_nod db 'tl_nod_16.bmp',0
14
;---------------------------------------------------------------------
15
fileinfo:
16
  dd 5
17
  dd 0
18
  dd 0
19
  dd 0
20
  dd file_info
21
string:
22
  db 0
23
  dd file_name
24
 
25
;plugin dd 0
26
 
27
;---------------------------------------------------------------------
28
align 4
29
myimport:
30
edit_box_draw  dd aEdit_box_draw
31
edit_box_key   dd aEdit_box_key
32
edit_box_mouse dd aEdit_box_mouse
1343 IgorA 33
;version_ed     dd aVersion_ed
1338 IgorA 34
 
1343 IgorA 35
;check_box_draw	dd aCheck_box_draw
36
;check_box_mouse dd aCheck_box_mouse
37
;version_ch	dd aVersion_ch
1338 IgorA 38
 
1343 IgorA 39
;option_box_draw  dd aOption_box_draw
40
;option_box_mouse dd aOption_box_mouse
41
;version_op	 dd aVersion_op
1338 IgorA 42
 
43
scrollbar_ver_draw  dd aScrollbar_ver_draw
44
scrollbar_ver_mouse dd aScrollbar_ver_mouse
45
scrollbar_hor_draw  dd aScrollbar_hor_draw
46
scrollbar_hor_mouse dd aScrollbar_hor_mouse
1343 IgorA 47
;version_scrollbar   dd aVersion_scrollbar
1338 IgorA 48
 
1343 IgorA 49
;dinamic_button_draw  dd aDbutton_draw
50
;dinamic_button_mouse dd aDbutton_mouse
51
;version_dbutton      dd aVersion_dbutton
1338 IgorA 52
 
53
menu_bar_draw	 dd aMenu_bar_draw
54
menu_bar_mouse	 dd aMenu_bar_mouse
1343 IgorA 55
;version_menu_bar dd aVersion_menu_bar
1338 IgorA 56
 
57
  tl_data_init dd sz_tl_data_init
58
  tl_data_clear dd sz_tl_data_clear
59
  tl_info_clear dd sz_tl_info_clear
60
  tl_key dd sz_tl_key
61
  tl_mouse dd sz_tl_mouse
62
  tl_draw dd sz_tl_draw
63
  tl_info_undo dd sz_tl_info_undo
64
  tl_info_redo dd sz_tl_info_redo
65
  tl_node_add dd sz_tl_node_add
66
  tl_node_set_data dd sz_tl_node_set_data
67
  tl_node_get_data dd sz_tl_node_get_data
68
  tl_node_delete dd sz_tl_node_delete
69
  tl_cur_beg dd sz_tl_cur_beg
70
  tl_cur_next dd sz_tl_cur_next
71
  tl_cur_perv dd sz_tl_cur_perv
72
  tl_node_close_open dd sz_tl_node_close_open
73
  tl_node_lev_inc dd sz_tl_node_lev_inc
74
  tl_node_lev_dec dd sz_tl_node_lev_dec
75
dd 0,0
76
 
77
aEdit_box_draw	db 'edit_box',0
78
aEdit_box_key	db 'edit_box_key',0
79
aEdit_box_mouse db 'edit_box_mouse',0
1343 IgorA 80
;aVersion_ed	db 'version_ed',0
1338 IgorA 81
 
1343 IgorA 82
;aCheck_box_draw  db 'check_box_draw',0
83
;aCheck_box_mouse db 'check_box_mouse',0
84
;aVersion_ch	 db 'version_ch',0
1338 IgorA 85
 
1343 IgorA 86
;aOption_box_draw  db 'option_box_draw',0
87
;aOption_box_mouse db 'option_box_mouse',0
88
;aVersion_op	  db 'version_op',0
1338 IgorA 89
 
90
aScrollbar_ver_draw  db 'scrollbar_v_draw',0
91
aScrollbar_ver_mouse db 'scrollbar_v_mouse',0
92
aScrollbar_hor_draw  db 'scrollbar_h_draw',0
93
aScrollbar_hor_mouse db 'scrollbar_h_mouse',0
1343 IgorA 94
;aVersion_scrollbar   db 'version_scrollbar',0
1338 IgorA 95
 
1343 IgorA 96
;aDbutton_draw	  db 'dbutton_draw',0
97
;aDbutton_mouse	  db 'dbutton_mouse',0
98
;aVersion_dbutton  db 'version_dbutton',0
1338 IgorA 99
 
100
aMenu_bar_draw	  db 'menu_bar_draw',0
101
aMenu_bar_mouse   db 'menu_bar_mouse',0
1343 IgorA 102
;aVersion_menu_bar db 'version_menu_bar',0
1338 IgorA 103
 
104
  sz_tl_data_init db 'tl_data_init',0
105
  sz_tl_data_clear db 'tl_data_clear',0
106
  sz_tl_info_clear db 'tl_info_clear',0
107
  sz_tl_key db 'tl_key',0
108
  sz_tl_mouse db 'tl_mouse',0
109
  sz_tl_draw db 'tl_draw',0
110
  sz_tl_info_undo db 'tl_info_undo',0
111
  sz_tl_info_redo db 'tl_info_redo',0
112
  sz_tl_node_add db 'tl_node_add',0
113
  sz_tl_node_set_data db 'tl_node_set_data',0
114
  sz_tl_node_get_data db 'tl_node_get_data',0
115
  sz_tl_node_delete db 'tl_node_delete',0
116
  sz_tl_cur_beg db 'tl_cur_beg',0
117
  sz_tl_cur_next db 'tl_cur_next',0
118
  sz_tl_cur_perv db 'tl_cur_perv',0
119
  sz_tl_node_close_open db 'tl_node_close_open',0
120
  sz_tl_node_lev_inc db 'tl_node_lev_inc',0
121
  sz_tl_node_lev_dec db 'tl_node_lev_dec',0
122
;--------------------------------------------------
123
align 4
124
msgbox_lib_import:
125
  mb_create dd amb_create
126
  mb_reinit dd amb_reinit
127
  mb_setfunctions dd amb_setfunctions
128
  dd 0,0
129
  amb_create db 'mb_create',0
130
  amb_reinit db 'mb_reinit',0
131
  amb_setfunctions db 'mb_setfunctions',0
132
;---------------------------------------------------------------------
133
align 4
134
wScr:
135
.x:
1343 IgorA 136
.size_x   dw 16 ;+0
137
.start_x  dw 50 ;+2
1338 IgorA 138
.y:
1343 IgorA 139
.size_y   dw 300 ; +4
140
.start_y  dw  50 ; +6
141
.btn_high dd  15 ; +8
142
.type     dd   1 ;+12
143
.max_area dd 100 ;+16
144
.cur_area dd  30 ;+20
145
.position dd   0 ;+24
146
.bckg_col dd 0xeeeeee ;+28
147
.frnt_col dd 0xbbddff ;+32
148
.line_col dd   0 ;+36
149
.redraw   dd   0 ;+40
150
.delta    dw   0 ;+44
151
.delta2   dw   0 ;+46
1338 IgorA 152
.run_x:
1343 IgorA 153
.r_size_x  dw 0 ;+48
154
.r_start_x dw 0 ;+50
1338 IgorA 155
.run_y:
156
.r_size_y   dw 0 ;+52
157
.r_start_y  dw 0 ;+54
1343 IgorA 158
.m_pos      dd 0 ;+56
1338 IgorA 159
.m_pos_2    dd 0 ;+60
160
.m_keys     dd 0 ;+64
161
.run_size   dd 0 ;+68
162
.position2  dd 0 ;+72
163
.work_size  dd 0 ;+76
164
.all_redraw dd 0 ;+80
165
.ar_offset  dd 1 ;+84
166
;---------------------------------------------------------------------
167
align 4
168
hScr:
169
.x:
170
.size_x     dw 150 ;+0
171
.start_x    dw 0 ;+2
172
.y:
173
.size_y     dw 16 ;+4
174
.start_y    dw 50 ;+6
175
.btn_high   dd 15 ;+8
176
.type	    dd 1  ;+12
177
.max_area   dd 100 ;+16
178
.cur_area   dd 30  ;+20
179
.position   dd 0  ;+24
180
.bckg_col   dd 0xeeeeee ;+28
181
.frnt_col   dd 0xbbddff ;+32
182
.line_col   dd 0  ;+36
183
.redraw     dd 0  ;+40
184
.delta	    dw 0  ;+44
185
.delta2     dw 0  ;+46
186
.run_x:
187
.r_size_x   dw 0  ;+48
188
.r_start_x  dw 0  ;+50
189
.run_y:
190
.r_size_y   dw 0 ;+52
191
.r_start_y  dw 0 ;+54
192
.m_pos	    dd 0 ;+56
193
.m_pos_2    dd 0 ;+60
194
.m_keys     dd 0 ;+64
195
.run_size   dd 0 ;+68
196
.position2  dd 0 ;+72
197
.work_size  dd 0 ;+76
198
.all_redraw dd 0 ;+80
199
.ar_offset  dd 1 ;+84
200
;---------------------------------------------------------------------
201
align 4
202
ws_dir_lbox: ;фюўхЁэшщ ёъЁюыышэу фы  ¤ыхьхэЄр ListBox
203
.x:
204
.size_x     dw 16 ;+0
205
.start_x    dw 0 ;+2
206
.y:
207
.size_y     dw 30 ;+4
208
.start_y    dw 70 ;+6
209
.btn_high   dd 15 ;+8
210
.type	    dd 1  ;+12
211
.max_area   dd 100  ;+16
212
.cur_area   dd 30  ;+20
213
.position   dd 0  ;+24
214
.bckg_col   dd 0xeeeeee ;+28
215
.frnt_col   dd 0xbbddff ;+32
216
.line_col   dd 0  ;+36
217
.redraw     dd 0  ;+40
218
.delta	    dw 0  ;+44
219
.delta2     dw 0  ;+46
220
.run_x:
221
.r_size_x   dw 0  ;+48
222
.r_start_x  dw 0  ;+50
223
.run_y:
224
.r_size_y   dw 0 ;+52
225
.r_start_y  dw 0 ;+54
226
.m_pos	    dd 0 ;+56
227
.m_pos_2    dd 0 ;+60
228
.m_keys     dd 0 ;+64
229
.run_size   dd 0 ;+68
230
.position2  dd 0 ;+72
231
.work_size  dd 0 ;+76
232
.all_redraw dd 0 ;+80
1343 IgorA 233
.ar_offset  dd 1 ;+84
234
;---------------------------------------------------------------------
1338 IgorA 235
 
236
align 4
237
menu_data_1:
1343 IgorA 238
.type: dd 0   ;+0
1338 IgorA 239
.x:
1343 IgorA 240
.size_x  dw 35 ;+4
241
.start_x dw  5 ;+6
1338 IgorA 242
.y:
1343 IgorA 243
.size_y  dw 15 ;+8
244
.start_y dw  5 ;+10
245
.text_pointer: dd menu_text_area   ;+12
246
.pos_pointer:  dd menu_text_area.1 ;+16
247
.text_end   dd menu_text_area.end  ;+20
248
.mouse_pos  dd 0 ;+24
249
.mouse_keys dd 0 ;+28
1338 IgorA 250
.x1:
1343 IgorA 251
.size_x1  dw 70  ;+32
252
.start_x1 dw  5  ;+34
1338 IgorA 253
.y1:
1343 IgorA 254
.size_y1  dw 15  ;+36
255
.start_y1 dw 20  ;+38
256
.bckg_col dd 0xeeeeee ;+40
257
.frnt_col dd 0xff ;+44
258
.menu_col dd 0xffffff ;+48
259
.select   dd 0 ;+52
260
.out_select dd 0 ;+56
261
.buf_adress dd 0 ;+60
262
.procinfo dd procinfo ;0 ;+64
263
.click   dd 0 ;+68
264
.cursor  dd 0 ;+72
265
.cursor_old dd 0 ;+76
266
.interval   dd 16 ;+80
267
.cursor_max  dd 0 ;+84
268
.extended_key dd 0 ;+88
269
.menu_sel_col dd 0x00cc00 ;+92
270
.bckg_text_col dd 0 ;+96
271
.frnt_text_col dd 0xffffff ;+100
1338 IgorA 272
.mouse_keys_old dd 0 ;+104
1343 IgorA 273
.font_height dd 8 ;+108
274
.cursor_out  dd 0 ;+112
1338 IgorA 275
.get_mouse_flag dd 0 ;+116
276
;-------------------------
277
 
278
TE_PANEL_NULL equ 0
279
TE_PANEL_FIND equ 1
280
TE_PANEL_SYNTAX equ 2
281
TE_PANEL_WIDTH equ 150 ;°шЁшэр ярэхыш
282
 
283
count_of_dir_list_files equ 15
284
 
1449 IgorA 285
;------------------------------------------------------------------------------
286
struct TexSelect
287
  x0 dd ?
288
  y0 dd ?
289
  x1 dd ?
290
  y1 dd ?
291
ends
292
;------------------------------------------------------------------------------
293
ted_wnd_l equ dword[edi+ 0] ;окно редактора: отступ слева
294
ted_wnd_t equ dword[edi+ 4] ;окно редактора: отступ сверху
295
ted_wnd_w equ dword[edi+ 8] ;окно редактора: ширина
296
ted_wnd_h equ dword[edi+12] ;окно редактора: высота
297
ted_rec_l equ dword[edi+16] ;ширина панели в окне
298
ted_rec_t equ dword[edi+20] ;высота панели в окне
299
ted_rec_w equ dword[edi+24] ;ширина символа (знакоместа) в окне
300
ted_rec_h equ dword[edi+28] ;высота символа (знакоместа) в окне
301
ted_drag_m equ byte[edi+32] ;выделение от мыши
302
ted_drag_k equ byte[edi+33] ;выделение от клавиатуры
303
;------------------------------------------------------------------------------
304
align 4
305
tedit0: ;структура текстового редактора
306
	.wnd BOX 0,50,440,150 ;+ 0
307
	.rec BOX 30,23,7,10   ;+16
308
	.dragm db 0 ;+32 выделение от мыши
309
	dragk db 0 ;+33 выделение от клавиатуры
310
	sel TexSelect 0,0,0,0 ;+34 структура выделения
311
	seln TexSelect ;+50 дополнительная структура выделения
312
;------------------------------------------------------------------------------
313
 
1338 IgorA 314
el_focus dd 0
315
mouse_dd dd 0
316
tree1 tree_list 264,count_of_dir_list_files+2, tl_key_no_edit+tl_draw_par_line+tl_list_box_mode,\
317
    16,16, 0x8080ff,0x0000ff,0xffffff, 0,70,TE_PANEL_WIDTH-17,120, 0,0,0, el_focus,\
318
    ws_dir_lbox,0
319
 
320
;dir_list memory
321
tree_file_struct:
322
  dd 1
323
  dd 0,0,count_of_dir_list_files
324
  dd dir_mem
325
  db 0
326
  dd file_name ;sys_path
327
 
328
dir_mem rb 32+304*count_of_dir_list_files
329
 
330
 
1343 IgorA 331
if lang eq ru
332
 
1338 IgorA 333
menu_text_area:
334
db 'Файл',0
335
.1:
336
db 'Создать',0
337
db 'Открыть',0
338
db 'Сохранить',0
339
db 'Выход',0
340
.end:
341
db 0
342
 
343
;--------
344
msgbox_1:
345
  dw 0
346
  db 'Внимание',0 ;+2 = +MB_TEXT_OFFSET
347
  db 'Файл большой, потому открыт не весь.',13
348
  db '  1. При его сохранении будут потеряны "не открывшиеся" символы.',13
349
  db '  2. В документ нельзя добавлять текст, т. к. память занята.',0
350
  db 'Я понял(а)',0 ;button1
351
  db 0
352
msgbox_2:
353
  db 3,0
354
  db 'Внимание',0 ;+2 = +MB_TEXT_OFFSET
355
  db 'Сохранить изменения в файле?',0
356
  db 'Сохранить',0
357
  db 'Не сохранять',0
358
  db 'Отмена',0
359
  db 0
360
msgbox_2_funct:
361
  dd On_SaveAndNewFile
362
  dd On_NewFile
363
  dd 0
364
 
365
msgbox_3:
366
  db 1,0
367
  db 'Внимание',0 ;+2 = +MB_TEXT_OFFSET
368
  db 'Ошибка при открытии файла с цветовыми настройками!',13,\
369
     'Потому выделение слов цветом не возможно.',13,\
1343 IgorA 370
     '  (код ошибки ='
1338 IgorA 371
  .err: db '?'
372
  db ')',0
373
  db 'Закрыть',0
374
  db 0
375
 
376
msgbox_4:
377
  db 1,0
378
  db 'Внимание',0 ;+2 = +MB_TEXT_OFFSET
379
  db 'Ошибка при открытии файла!',13,\
380
     'Возможно имя файла введено не правильно.',13,\
1343 IgorA 381
     '  (код ошибки ='
1338 IgorA 382
  .err: db '?'
383
  db ')',0
384
  db 'Закрыть',0
385
  db 0
386
 
387
msgbox_5:
388
  db 3,0
389
  db 'Внимание',0 ;+2 = +MB_TEXT_OFFSET
390
  db 'Сохранить изменения в файле?',0
391
  db 'Не сохранять',0
392
  db 'Отмена',0
393
  db 0
394
msgbox_5_funct:
395
;  dd but_SaveFile
396
  dd On_OpenFile
397
  dd 0
398
 
399
msgbox_6:
400
  db 1,0
401
  db 'Внимание',0 ;+2 = +MB_TEXT_OFFSET
402
  db 'Ошибка при сохранении файла!',13,\
403
     'Возможно имя файла введено не правильно.',13,\
1343 IgorA 404
     '  (код ошибки ='
1338 IgorA 405
  .err: db '?'
406
  db ')',0
407
  db 'Закрыть',0
408
  db 0
409
msgbox_7:
410
  db 1,0
411
  db 'Текст не найден',0 ;+2 = +MB_TEXT_OFFSET
412
  db 'Достигнут конец документа.',13,\
413
     'Попробуйте перейти в начало документа',13,\
414
     'или изменить запрос и повторить поиск.',0
415
  db 'Закрыть',0
416
  db 0
417
msgbox_8:
418
  db 3,0
419
  db 'Внимание',0 ;+2 = +MB_TEXT_OFFSET
420
  db 'Для выхода завершите работу с файлом.',13,\
421
     'Попробуйте сохранить изменения в файле',13,\
422
     'или начать новый пустой.',0
423
  db 'Отмена',0
424
  db 0
425
 
426
txtFindCapt db 'Поиск',0
427
txtFindNext db 'Найти далее',0
428
txtFormatCapt db 'Формат',0
429
txtFormatApply db 'Применить',0
1343 IgorA 430
txtRow db 'Строка',0
431
txtCol db 'Знак',0
432
txtOtm db 'Отмены',0
433
txtBuf db 'Буфер: '
434
buf db BUF_SIZE dup(0) ;buf тёхуфр яюёых txtBuf
435
 
436
else
437
 
438
menu_text_area:
439
db 'File',0
440
.1:
441
db 'New',0
442
db 'Open',0
443
db 'Save',0
444
db 'Exit',0
445
.end:
446
db 0
447
 
448
;--------
449
msgbox_1:
450
  dw 0
451
  db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
452
  db 'File is large, because not all open.',13
453
  db '  1. If you save it will lose "not opened" characters.',13
454
  db '  2. The document can not add text, because the memory is busy.',0
455
  db 'Ok',0 ;button1
456
  db 0
457
msgbox_2:
458
  db 3,0
459
  db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
460
  db 'Save changes to the file?',0
461
  db 'Save',0
462
  db 'Discard',0
463
  db 'Cancel',0
464
  db 0
465
msgbox_2_funct:
466
  dd On_SaveAndNewFile
467
  dd On_NewFile
468
  dd 0
469
 
470
msgbox_3:
471
  db 1,0
472
  db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
473
  db 'Error opening the file with the color settings!',13,\
474
     'Because color selection of words is not possible.',13,\
475
     '  (error code ='
476
  .err: db '?'
477
  db ')',0
478
  db 'Close',0
479
  db 0
480
 
481
msgbox_4:
482
  db 1,0
483
  db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
484
  db 'Error opening file!',13,\
485
     'Maybe the file name is not entered correctly.',13,\
486
     '  (error code ='
487
  .err: db '?'
488
  db ')',0
489
  db 'Close',0
490
  db 0
491
 
492
msgbox_5:
493
  db 3,0
494
  db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
495
  db 'Save changes to the file?',0
496
  db 'Discard',0
497
  db 'Cancel',0
498
  db 0
499
msgbox_5_funct:
500
;  dd but_SaveFile
501
  dd On_OpenFile
502
  dd 0
503
 
504
msgbox_6:
505
  db 1,0
506
  db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
507
  db 'Error saving file!',13,\
508
     'Maybe the file name is not entered correctly.',13,\
509
     '  (error code ='
510
  .err: db '?'
511
  db ')',0
512
  db 'Close',0
513
  db 0
514
msgbox_7:
515
  db 1,0
516
  db 'Text not found.',0 ;+2 = +MB_TEXT_OFFSET
517
  db 'Reached end of the document.',13,\
518
     'Try to go to the beginning of the document',13,\
519
     'or change the query and search again.',0
520
  db 'Close',0
521
  db 0
522
msgbox_8:
523
  db 3,0
524
  db 'Warning',0 ;+2 = +MB_TEXT_OFFSET
525
  db 'To quit, quit the file.',13,\
526
     'Try to keep changes to a file',13,\
527
     'or start a new blank file.',0
528
  db 'Cancel',0
529
  db 0
530
 
531
txtFindCapt db 'Search',0
532
txtFindNext db 'Find next',0
533
txtFormatCapt db 'Format',0
534
txtFormatApply db 'Apply',0
535
txtRow db 'Rows',0
536
txtCol db 'Cols',0
537
txtOtm db 'Undo',0
538
txtBuf db 'Buffer: '
539
buf db BUF_SIZE dup(0) ;buf always after txtBuf
540
 
541
end if
1338 IgorA 542
;------
543
align 4
544
EvChar db 0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0
545
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
546
    db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
547
    db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
548
    db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
549
    db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
550
    db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
551
    db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0
552
    db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
553
    db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
554
    db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
555
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
556
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
557
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
558
    db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
559
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
560
 
561
EvUpper db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
562
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
563
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
564
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
565
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
566
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
567
    db 0,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79
568
    db 80,81,82,83,84,85,86,87,88,89,90,0,0,0,0,0
569
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
570
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
571
    db 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143
572
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
573
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
574
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
575
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
576
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
577
EvLover db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
578
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
579
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
580
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
581
    db 0,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111
582
    db 112,113,114,115,116,117,118,119,120,121,122,0,0,0,0,0
583
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
584
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
585
    db 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175
586
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
587
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
588
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
589
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
590
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
591
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
592
    db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
593
conv_table dd 0
594
 
595
 
596
KM_SHIFT equ 0x00010000
597
KM_CTRL equ 0x00020000
598
KM_ALT equ 0x00040000
599
KM_NUMLOCK equ 0x00080000
600
 
601
; KEY CODES
602
KEY_F1 equ 0x0000003B
603
KEY_F2 equ 0x0000003C
604
KEY_F3 equ 0x0000003D
605