Subversion Repositories Kolibri OS

Rev

Rev 2345 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. key:
  2.     mcall 2
  3.     cmp   [extended_key],1
  4.     je    .extended_key
  5.     test  al, al
  6.     jnz   still
  7.     cmp   ah, 0xE0
  8.     jne   @f
  9.     mov   [extended_key],1
  10.     jmp   still
  11. @@:
  12.     cmp   ah,15
  13.     jne   .no_tab
  14.     inc   [select_panel_counter]
  15.     and   [select_panel_counter],1b
  16.     call  draw_left_panel
  17.     call  draw_right_panel
  18.     jmp   still
  19. .no_tab:
  20.     cmp   ah,72   ; arrow up
  21.     je    key_72.1
  22.     cmp   ah,80   ; arrow down
  23.     je    key_80.1
  24.     cmp   ah,28   ; Enter
  25.     je    key_28.1
  26.     cmp   ah,17   ; W
  27.     je    set_background
  28.     cmp   ah,19   ; R
  29.     je    reload_dir_1
  30.     cmp   ah,42
  31.     je    key_shift_up
  32.     cmp   ah,54
  33.     je    key_shift_up
  34.     cmp   ah,170
  35.     je    key_shift_down
  36.     cmp   ah,182
  37.     je    key_shift_down
  38.     cmp   ah,29
  39.     je    key_ctrl_up.1
  40.     cmp   ah,157
  41.     je    key_ctrl_down.1
  42.     cmp   ah,56
  43.     je    key_alt_up.1
  44.     cmp   ah,184
  45.     je    key_alt_down.1
  46.     cmp   ah,206 ; NumPad+ Up
  47.     je    NumPad_plus_Up
  48.     cmp   ah,202 ; NumPad- Up
  49.     je    NumPad_minus_Up
  50.     cmp   ah,183 ; NumPad* Up
  51.     je    NumPad_sneg_Up
  52.     cmp   ah,158
  53.     je    symbol_a_up
  54.     cmp   ah,59    ; down F1
  55.     je    f_key_f1
  56.     cmp   ah,60    ; down F2
  57.     je    f_key_f2
  58.     cmp   ah,61    ; down F3
  59.     je    f_key_f3 ;sort_name
  60.     cmp   ah,62    ; down F4
  61.     je    f_key_f4 ;sort_type
  62.     cmp   ah,63    ; down F5
  63.     je    f_key_f5 ;sort_size
  64.     cmp   ah,64    ; down F6
  65.     je    f_key_f6 ; sort_date
  66.     cmp   ah,65    ; down F7
  67.     je    f_key_f7 ;
  68.     cmp   ah,66    ; down F8
  69.     je    f_key_f8 ; delete_file
  70.     cmp   ah,88    ; down F12
  71.     je    f_key_f12
  72.     jmp  still
  73. ;-------------------------------------------------------------
  74. .extended_key:
  75.     mov  [extended_key],0
  76. key_80:
  77.     cmp  ah,80  ; arrow down
  78.     jne  key_72
  79. .1:
  80.     cmp  [select_panel_counter],0
  81.     jne  .right_1
  82.     mov  eax,[left_folder_block]
  83.     dec  eax
  84.     imul eax,10
  85.     cmp  ax,[left_start_draw_cursor_line]
  86.     jbe  .marked_action   ;still
  87.     mov  ax,[left_start_draw_cursor_line]
  88.     add  ax,10
  89.     cmp  ax,[left_panel_y.size_y]
  90.     jae  @f
  91. .add_1:
  92.     add  [left_start_draw_cursor_line],10
  93.     call draw_left_panel_selection
  94.     mov  [drawing_panel_folder],1
  95. .all:
  96.     sub  ecx,10 shl 16
  97.     mov  edx,0xffffff
  98.     int  0x40
  99.     mov  [not_clear_lines],1
  100.     call draw_folder_data
  101.     mov  [not_clear_lines],0
  102.     jmp  still
  103. .marked_action:
  104.     cmp  [marked_action],0
  105.     je   still
  106.     mov  [marked_action],0
  107.     call draw_left_panel
  108.     jmp  still
  109. .marked_action_1:
  110.     cmp  [marked_action],0
  111.     je   still
  112.     mov  [marked_action],0
  113.     call draw_right_panel
  114.     jmp  still
  115. @@:
  116.     mov  eax,[left_folder_block]
  117.     sub  eax,[max_panel_line]
  118.     test eax,0x80000000
  119.     jz   @f
  120.     xor  eax,eax
  121. @@:
  122.     cmp  [marked_action],0
  123.     jne   @f
  124.     cmp  [left_start_draw_line],eax
  125.     je   still
  126. @@:
  127.     mov  [marked_action],0
  128.     inc  [left_start_draw_line]
  129.     call draw_left_panel
  130.     jmp  still
  131. .right_1:
  132.     mov  eax,[right_folder_block]
  133.     dec  eax
  134.     imul eax,10
  135.     cmp  ax,[right_start_draw_cursor_line]
  136.     jbe  .marked_action_1   ;still
  137.     mov  ax,[right_start_draw_cursor_line]
  138.     add  ax,10
  139.     cmp  ax,[right_panel_y.size_y]
  140.     jae  @f
  141. .add_2:
  142.     add  [right_start_draw_cursor_line],10
  143.     call draw_right_panel_selection
  144.     mov  [drawing_panel_folder],2
  145.     jmp  key_80.all
  146. @@:
  147.     mov  eax,[right_folder_block]
  148.     sub  eax,[max_panel_line]
  149.     test eax,0x80000000
  150.     jz   @f
  151.     xor  eax,eax
  152. @@:
  153.     cmp  [marked_action],0
  154.     jne  @f
  155.     cmp  [right_start_draw_line],eax
  156.     je   still
  157. @@:
  158.     mov  [marked_action],0
  159.     inc  [right_start_draw_line]
  160.     call draw_right_panel
  161.     jmp  still
  162. ;-------------------------------------------------------------
  163. key_72:
  164.     cmp  ah,72  ;arrow up
  165.     jne  key_81
  166. .1:
  167.     cmp  [select_panel_counter],0
  168.     jne  .right_1
  169.     mov  ax,[left_start_draw_cursor_line]
  170.     add  ax,[left_panel_y.start_y]
  171.     cmp  [left_panel_y.start_y],ax
  172.     je   @f
  173.     sub  [left_start_draw_cursor_line],10
  174.     call draw_left_panel_selection
  175.     mov  [drawing_panel_folder],1
  176. .all:    
  177.     add  ecx,10 shl 16
  178.     mov  edx,0xffffff
  179.     int  0x40
  180.     mov  [not_clear_lines],1
  181.     call draw_folder_data
  182.     mov  [not_clear_lines],0
  183.     jmp  still
  184. @@:
  185.     cmp  [left_start_draw_line],0
  186.     je   still
  187.     dec  [left_start_draw_line]
  188.     call draw_left_panel
  189.     jmp  still
  190. .right_1:
  191.     mov  ax,[right_start_draw_cursor_line]
  192.     add  ax,[right_panel_y.start_y]
  193.     cmp  [right_panel_y.start_y],ax
  194.     je   @f
  195.     sub  [right_start_draw_cursor_line],10
  196.     call draw_right_panel_selection
  197.     mov  [drawing_panel_folder],2
  198.     jmp  key_72.all
  199. @@:
  200.     cmp  [right_start_draw_line],0
  201.     je   still
  202.     dec  [right_start_draw_line]
  203.     call draw_right_panel
  204.     jmp  still
  205. ;-------------------------------------------------------------
  206. key_81:
  207.     cmp  ah,81 ; PageDown
  208.     jne  key_73
  209.     mov  eax,[max_panel_line]
  210.     cmp  [select_panel_counter],0
  211.     jne  .right_1
  212.     mov  ebx,[left_folder_block]
  213.     sub  ebx,eax
  214.     test ebx,0x80000000
  215.     jnz  .left_2
  216.     sub  ebx,[left_start_draw_line]
  217.     cmp  ebx,eax
  218.     ja  .ok_1
  219.     mov  ebx,[left_folder_block]
  220.     sub  ebx,eax
  221.     call prepare_data_left_down
  222.     ja   @f
  223.     cmp  ebx,[left_start_draw_line]
  224.     je   still
  225. @@:
  226.     mov  [left_start_draw_line],ebx
  227. .left_3:
  228.     dec  eax
  229.     imul eax,10
  230. .left_1:
  231.     mov  [left_start_draw_cursor_line],ax
  232.     call draw_left_panel
  233.     jmp  still
  234. .left_2:
  235.     mov  eax,[left_folder_block]
  236.     sub  eax,[left_start_draw_line]
  237.     dec  eax
  238.     imul eax,10
  239.     cmp  ax,[left_start_draw_cursor_line]
  240.     jbe  still
  241.     jmp  .left_1
  242. .ok_1:
  243.     add  [left_start_draw_line],eax
  244.     call draw_left_panel
  245.     jmp  still
  246. .right_1:
  247.     mov  ebx,[right_folder_block]
  248.     sub  ebx,eax
  249.     test ebx,0x80000000
  250.     jnz  .right_3
  251.     sub  ebx,[right_start_draw_line]
  252.     cmp  ebx,eax
  253.     jae  .ok_2
  254.     mov  ebx,[right_folder_block]
  255.     sub  ebx,eax
  256.     call prepare_data_right_down
  257.     ja   @f
  258.     cmp  ebx,[right_start_draw_line]
  259.     je   still
  260. @@:
  261.     mov  [right_start_draw_line],ebx
  262. .right_4:
  263.     dec  eax
  264.     imul eax,10
  265. .right_2:
  266.     mov  [right_start_draw_cursor_line],ax
  267.     call draw_right_panel
  268.     jmp  still
  269. .right_3:
  270.     mov  eax,[right_folder_block]
  271.     sub  eax,[right_start_draw_line]
  272.     dec  eax
  273.     imul eax,10
  274.     cmp  ax,[right_start_draw_cursor_line]
  275.     jbe  still
  276.     jmp  .right_2
  277. .ok_2:
  278.     add  [right_start_draw_line],eax
  279.     call draw_right_panel
  280.     jmp  still
  281. ;-------------------------------------------------------------    
  282. prepare_data_right_down:
  283.     mov  ecx,[right_folder_block]
  284.     sub  ecx,[right_start_draw_line]
  285.     dec  ecx
  286.     imul ecx,10
  287.     cmp  cx,[right_start_draw_cursor_line]
  288.     ret
  289. ;-------------------------------------------------------------    
  290. prepare_data_left_down:
  291.     mov  ecx,[left_folder_block]
  292.     sub  ecx,[left_start_draw_line]
  293.     dec  ecx
  294.     imul ecx,10
  295.     cmp  cx,[left_start_draw_cursor_line]
  296.     ret
  297. ;-------------------------------------------------------------
  298. key_73:
  299.     cmp  ah,73 ; PageUp
  300.     jne  key_71
  301.     mov  eax,[max_panel_line]
  302.     cmp  [select_panel_counter],0
  303.     jne  .right_1
  304.     mov  ebx,[left_start_draw_line]
  305.     sub  ebx,eax
  306.     test ebx,0x8000000
  307.     jz   @f
  308.     cmp  [left_start_draw_line],0
  309.     jne  .draw_line_1
  310.     cmp  [left_start_draw_cursor_line],0
  311.     je   still
  312.     mov  [left_start_draw_cursor_line],0
  313. .draw_line_1:
  314.     mov  [left_start_draw_line],0
  315.     call draw_left_panel
  316.     jmp  still
  317. @@:
  318.     sub  [left_start_draw_line],eax
  319.     call draw_left_panel
  320.     jmp  still
  321. .right_1:
  322.     mov  ebx,[right_start_draw_line]
  323.     sub  ebx,eax
  324.     test ebx,0x80000000
  325.     jz   @f
  326.     cmp  [right_start_draw_line],0
  327.     jne  .draw_line_2
  328.     cmp  [right_start_draw_cursor_line],0
  329.     je   still
  330.     mov  [right_start_draw_cursor_line],0
  331. .draw_line_2:
  332.     mov  [right_start_draw_line],0
  333.     call draw_right_panel
  334.     jmp  still
  335. @@:
  336.     sub  [right_start_draw_line],eax
  337.     call draw_right_panel
  338.     jmp  still
  339. ;-------------------------------------------------------------
  340. key_71:
  341.     cmp  ah,71 ; Home
  342.     jne  key_79
  343.     cmp  [select_panel_counter],0
  344.     jne  .right_1
  345.     cmp  [left_start_draw_line],0
  346.     jne   .draw_left_panel
  347.     cmp  [left_start_draw_cursor_line],0
  348.     je   still
  349. .draw_left_panel:
  350.     mov  [left_start_draw_line],0
  351.     mov  [left_start_draw_cursor_line],0
  352.     call draw_left_panel
  353.     jmp  still
  354. .right_1:
  355.     cmp  [right_start_draw_line],0
  356.     jne   .draw_right_panel
  357.     cmp  [right_start_draw_cursor_line],0
  358.     je   still
  359. .draw_right_panel:
  360.     mov  [right_start_draw_line],0
  361.     mov  [right_start_draw_cursor_line],0
  362.     call draw_right_panel
  363.     jmp  still
  364. ;-------------------------------------------------------------
  365. key_79:
  366.     cmp  ah,79 ; End
  367.     jne  key_28
  368.     cmp  [select_panel_counter],0
  369.     jne  .right_1
  370.     mov  eax,[left_folder_block]
  371.     sub  eax,[max_panel_line]
  372.     test eax,0x80000000
  373.     jnz  key_81.left_2
  374.     call prepare_data_left_down
  375.     ja   @f
  376.     cmp  eax,[left_start_draw_line]
  377.     je   still
  378. @@:
  379.     mov  [left_start_draw_line],eax
  380.     mov  eax,[max_panel_line]
  381.     jmp  key_81.left_3
  382. .right_1:
  383.     mov  eax,[right_folder_block]
  384.     sub  eax,[max_panel_line]
  385.     test eax,0x80000000
  386.     jnz  key_81.right_3
  387.     call prepare_data_right_down
  388.     ja   @f
  389.     cmp  eax,[right_start_draw_line]
  390.     je   still
  391. @@:
  392.     mov  [right_start_draw_line],eax
  393.     mov  eax,[max_panel_line]
  394.     jmp  key_81.right_4    
  395. ;-------------------------------------------------------------
  396. key_28:
  397.     cmp  ah,28 ; Enter
  398.     jne  key_ctrl_up
  399. .1:
  400.     cmp  [shift_flag],1
  401.     je   still
  402.     cmp  [ctrl_flag],1
  403.     je   still
  404.     cmp  [alt_flag],1
  405.     je   files_information
  406.    
  407.     mov  [open_param],0
  408. .2:
  409.     cmp  [select_panel_counter],0
  410.     jne  .right_1
  411.     mov  ebp,read_folder_name    ;read_folder.name
  412.     call  calculate_left_data_1
  413.     add  esi,32
  414.     cmp  [exit_dir],1
  415.     je   .up_patch
  416.     test [esi],byte 0x10
  417.     jz   file_no_folder
  418.     cmp  [open_param],0
  419.     jne  still
  420.     cmp  [esi+40],word 2Eh
  421.     je   still
  422.     cmp  [esi+40],word '..'
  423.     je   .up_patch
  424.     call calculate_key_28_1
  425.     mov  [left_start_draw_cursor_line],0
  426.     mov  [left_start_draw_line],0
  427.     jmp  proc_read_folder
  428. .up_patch:
  429.     call calculate_key_28_2
  430.     jmp  proc_read_folder
  431. .right_1:
  432.     mov  ebp,read_folder_1_name   ;read_folder_1.name
  433.     call calculate_right_data_1
  434.     add  esi,32
  435.     cmp  [exit_dir],1
  436.     je   .up_patch_1
  437.     test [esi],byte 0x10
  438.     jz   file_no_folder
  439.     cmp  [esi+40],word 2Eh
  440.     je   still
  441.     cmp  [esi+40],word '..'
  442.     je   .up_patch_1
  443.     call calculate_key_28_1
  444.     mov  [right_start_draw_cursor_line],0
  445.     mov  [right_start_draw_line],0
  446.     jmp  proc_read_folder_1
  447. .up_patch_1:
  448.     call calculate_key_28_2
  449.     jmp  proc_read_folder_1
  450. ;---------------------------------------------------------------------
  451. calculate_key_28_1:    
  452. ;    mov  edi,read_folder.name-1
  453.     mov  edi,ebp
  454.     dec  edi
  455.     inc  ebp
  456. @@:
  457.     inc  edi
  458.     cmp  [edi],byte 0
  459.     jne  @r
  460.     cmp  edi,ebp ;read_folder.name+1
  461.     je   @f
  462.     mov  al,'/'
  463.     mov [edi],al
  464.     inc  edi
  465. @@:
  466.     add  esi,40
  467. @@:
  468.     cld
  469.     lodsb
  470.     stosb
  471.     cmp al,0
  472.     jnz   @r
  473.     ret
  474. ;---------------------------------------------------------------------
  475. calculate_key_28_2:
  476.     mov  [exit_dir],0
  477.     mov  edi,ebp ;read_folder.name
  478. @@:
  479.     inc  edi
  480.     cmp  [edi],byte 0
  481.     jne  @r
  482.     mov  [extension_size],edi
  483.     dec  edi
  484. @@:
  485.     dec  edi
  486.     cmp  [edi],byte '/'
  487.     jne  @r
  488.     mov  eax,ebp ;read_folder.name
  489.     cmp  edi,eax
  490.     jbe  @f
  491.     mov  [edi],byte 0
  492. @@:
  493.     inc  edi
  494.     mov  [temp_counter_dword],edi
  495.     dec  edi
  496.     sub  [extension_size],edi
  497.     mov  [search_pre_folder],1
  498.     ret
  499. ;---------------------------------------------------------------------
  500. set_background:
  501.     cmp  [shift_flag],1
  502.     je   .shift
  503.     cmp  [ctrl_flag],1
  504.     jne  still
  505.     mov  [open_param],background_stretch
  506.     jmp  key_28.2
  507. .shift:
  508.     mov  [open_param],background_tile
  509.     jmp  key_28.2    
  510. ;---------------------------------------------------------------------    
  511. reload_dir_1:
  512.     cmp  [ctrl_flag],0
  513.     je   still
  514.     jmp  reload_dir
  515. ;---------------------------------------------------------------------
  516. symbol_a_up:
  517.     cmp  [shift_flag],1
  518.     je   still
  519.     cmp  [ctrl_flag],1
  520.     je   .ctrl
  521.     cmp  [alt_flag],1
  522.     je   still
  523.     jmp  still
  524. .ctrl:
  525.     mov  [mark_action_counter],0
  526.     jmp  mark_all_file
  527. ;---------------------------------------------------------------------
  528. NumPad_plus_Up:
  529.     cmp  [shift_flag],1
  530.     je   still
  531.     cmp  [ctrl_flag],1
  532.     je   .ctrl
  533.     cmp  [alt_flag],1
  534.     je   still
  535.     jmp  still
  536. .ctrl:
  537.     mov  [mark_action_counter],0
  538.     jmp  mark_all_file
  539. ;---------------------------------------------------------------------
  540. NumPad_minus_Up:
  541.     cmp  [shift_flag],1
  542.     je   still
  543.     cmp  [ctrl_flag],1
  544.     je   .ctrl
  545.     cmp  [alt_flag],1
  546.     je   still
  547.     jmp  still
  548. .ctrl:
  549.     mov  [mark_action_counter],1
  550.     jmp  mark_all_file
  551. ;---------------------------------------------------------------------
  552. NumPad_sneg_Up:
  553.     cmp  [shift_flag],1
  554.     je   still
  555.     cmp  [ctrl_flag],1
  556.     je   .ctrl
  557.     cmp  [alt_flag],1
  558.     je   still
  559.     jmp  still
  560. .ctrl:
  561.     mov  [mark_action_counter],2
  562.     jmp  mark_all_file
  563. ;---------------------------------------------------------------------
  564. f_key_f1:
  565. ;sort_name:
  566.     cmp  [shift_flag],1
  567.     je   still
  568.     cmp  [ctrl_flag],1
  569.     je   still
  570.     cmp  [alt_flag],1
  571.     je   draw_left_select_disk_menu
  572.     jmp  help_start
  573. ;---------------------------------------------------------------------
  574. f_key_f2:
  575. ;sort_name:
  576.     cmp  [shift_flag],1
  577.     je   still
  578.     cmp  [ctrl_flag],1
  579.     je   still
  580.     cmp  [alt_flag],1
  581.     je   draw_right_select_disk_menu
  582.     jmp  still
  583. ;---------------------------------------------------------------------
  584. f_key_f3:
  585. ;sort_name:
  586.     cmp  [shift_flag],1
  587.     je   still
  588.     cmp  [ctrl_flag],1
  589.     je   .ctrl
  590.     cmp  [alt_flag],1
  591.     je   still
  592.     jmp  still
  593. .ctrl:
  594.     cmp  [select_panel_counter],1
  595.     je   right_sort_name
  596.     jmp  left_sort_name
  597. ;---------------------------------------------------------------------
  598. f_key_f4:
  599. ;sort_type:
  600.     cmp  [shift_flag],1
  601.     je   still
  602.     cmp  [ctrl_flag],1
  603.     je   .ctrl
  604.     cmp  [alt_flag],1
  605.     je   still
  606.     jmp  open_file_f4
  607. .ctrl:
  608.     cmp  [select_panel_counter],1
  609.     je   right_sort_type
  610.     jmp  left_sort_type
  611. ;---------------------------------------------------------------------
  612. f_key_f5:
  613. ;sort_size:
  614.     cmp  [shift_flag],1
  615.     je   still
  616.     cmp  [ctrl_flag],1
  617.     je   .ctrl
  618.     cmp  [alt_flag],1
  619.     je   still
  620.     jmp  copy_file_f5
  621. .ctrl:
  622.     cmp  [select_panel_counter],1
  623.     je   right_sort_size
  624.     jmp  left_sort_size
  625. ;---------------------------------------------------------------------
  626. f_key_f6:
  627. ;sort_date:
  628.     cmp  [shift_flag],1
  629.     je   still
  630.     cmp  [ctrl_flag],1
  631.     je   .ctrl
  632.     cmp  [alt_flag],1
  633.     je   still
  634.     jmp  move_file_f6
  635. .ctrl:
  636.     cmp  [select_panel_counter],1
  637.     je   right_sort_date
  638.     jmp  left_sort_date
  639. ;---------------------------------------------------------------------
  640. f_key_f7:
  641.     cmp  [shift_flag],1
  642.     je   still
  643.     cmp  [ctrl_flag],1
  644.     je   still
  645.     cmp  [alt_flag],1
  646.     je   still
  647.     jmp  create_directory
  648. ;---------------------------------------------------------------------
  649. f_key_f8:
  650.     cmp  [shift_flag],1
  651.     je   still
  652.     cmp  [ctrl_flag],1
  653.     je   still
  654.     cmp  [alt_flag],1
  655.     je   still
  656.     jmp  delete_file
  657. ;---------------------------------------------------------------------
  658. f_key_f12:
  659.     cmp  [shift_flag],1
  660.     je   still
  661.     cmp  [ctrl_flag],1
  662.     je   still
  663.     cmp  [alt_flag],1
  664.     je   still
  665.     jmp  exit_apl
  666. ;---------------------------------------------------------------------
  667. key_shift_up:
  668.     cmp  [shift_flag],1
  669.     je   still
  670.     mov  [shift_flag],1
  671.     jmp  key_alt_down.for_all
  672. ;---------------------------------------------------------------------
  673. key_shift_down:
  674.     mov  [shift_flag],0
  675.     jmp  key_alt_down.for_all
  676. ;---------------------------------------------------------------------
  677. key_ctrl_up:
  678.     cmp   ah,29
  679.     jne   key_ctrl_down
  680. .1:
  681.     cmp  [ctrl_flag],1
  682.     je   still
  683.     mov  [ctrl_flag],1
  684.     jmp  key_alt_down.for_all
  685. ;---------------------------------------------------------------------
  686. key_ctrl_down:
  687.     cmp   ah,157
  688.     jne   key_alt_up
  689. .1:
  690.     mov  [ctrl_flag],0
  691.     jmp  key_alt_down.for_all
  692. ;---------------------------------------------------------------------
  693. key_alt_up:
  694.     cmp   ah,56
  695.     jne   key_alt_down
  696. .1:
  697.     cmp  [alt_flag],1
  698.     je   still
  699.     mov  [alt_flag],1
  700.     jmp  key_alt_down.for_all
  701. ;---------------------------------------------------------------------
  702. key_alt_down:
  703.     cmp   ah,184
  704.     jne   key_insert
  705. .1:
  706.     mov  [alt_flag],0
  707. .for_all:
  708.     call erase_fbutton
  709.     call draw_fbutton
  710.     jmp  still
  711. ;---------------------------------------------------------------------
  712. key_insert:
  713.     cmp   ah,82   ; Insert
  714.     je    mark_file
  715.     cmp   ah,83
  716.     je    delete_file
  717. key_end:
  718.     jmp  still
  719. ;---------------------------------------------------------------------