Subversion Repositories Kolibri OS

Rev

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

  1.  
  2. load_ini:
  3.         mov     [point2],32h
  4.         mcall   70,get_ini
  5.         mov     al,[inicont]
  6.         sub     al,30h
  7.         mov     [lngcrc1],al
  8.  
  9.         mov     [point2],42h
  10.         mcall   70,get_ini
  11.         mov     al,[inicont]
  12.         sub     al,30h
  13.         mov     [lngcrc3],al
  14.  
  15.         mov     [point2],52h
  16.         mcall  70,get_ini
  17.         mov     al,[inicont]
  18.         sub     al,30h
  19.         mov     [lngcrc2],al
  20.  
  21.         mov     [point2],06eh
  22.         mcall   70,get_ini
  23.         mov     al,[inicont]
  24.         sub     al,30h
  25.         mov     [altlng1],al
  26.  
  27.         mov     [point2],07eh
  28.         mcall   70,get_ini
  29.         mov     al,[inicont]
  30.         sub     al,30h
  31.         mov     [altlng2],al
  32.  
  33.         mov     [point2],08eh
  34.         mcall   70,get_ini
  35.         mov     al,[inicont]
  36.         sub     al,30h
  37.         mov     [altlng3],al
  38.  
  39.         mov     [point2],09eh
  40.         mcall   70,get_ini
  41.         mov     al,[inicont]
  42.         sub     al,30h
  43.         mov     [altlng4],al
  44.  
  45.         mov     [point2],0aeh
  46.         mcall   70,get_ini
  47.         mov     al,[inicont]
  48.         sub     al,30h
  49.         mov     [altlng5],al
  50.  
  51.         mov     [point2],0beh
  52.         mcall   70,get_ini
  53.         mov     al,[inicont]
  54.         sub     al,30h
  55.         mov     [altlng6],al
  56.  
  57.         mov     [point2],0ceh
  58.         mcall   70,get_ini
  59.         mov     al,[inicont]
  60.         sub     al,30h
  61.         mov     [altlng7],al
  62.  
  63.         mov     [point2],0deh
  64.         mcall   70,get_ini
  65.         mov     al,[inicont]
  66.         sub     al,30h
  67.         mov     [altlng8],al
  68.  
  69.         mov     [point2],0eeh
  70.         mcall   70,get_ini
  71.         mov     al,[inicont]
  72.         sub     al,30h
  73.         mov     [altlng9],al
  74.  
  75.         mov     [point2],16h
  76.         mcall   70,get_ini
  77.         xor     eax,eax
  78.         mov     al,[inicont]
  79.         sub     al,31h
  80.         jns     applyKeymap
  81.         ret
  82. ;-------------------------------
  83. karu:
  84.         mov     [draw_flag_certainly],1
  85.         dec     [key_r2]
  86.         jns     @f
  87.         mov     [key_r2],2
  88. @@:
  89.         xor     eax,eax
  90.         mov     al, [key_r2]
  91.         mov     al, [lngcrc1+eax]
  92.         dec     eax
  93.         js      karu
  94.         jmp     applyKeymap
  95. ;-------------------------------
  96. alter:
  97.         mov     [draw_flag_certainly],1
  98.         xor     eax,eax
  99.         mov     al, [key_r]
  100.         mov     al, [altlng1+eax]
  101.         dec     eax
  102.         js      @f
  103. applyKeymap:
  104.         cmp     al, 9
  105.         jnc     @f
  106.         push    eax
  107.         shl     eax,7
  108.         lea     eax,[eax*2+eax]
  109.         mov     [point],eax
  110.         mcall   70,get_key
  111.         mcall   21,2,1,current_keymap
  112.         inc     ecx
  113.         mcall   21,,,current_keymap_shift
  114.         inc     ecx
  115.         mcall   21,,,current_keymap_alt
  116.         pop     edx
  117.         inc     edx
  118.         mcall   21,,9
  119. @@:
  120.         ret
  121. ;---------------------------------------------------------------
  122. align 4
  123. current_keymap          rb 128
  124. current_keymap_shift    rb 128
  125. current_keymap_alt      rb 128
  126.  
  127. get_ini:
  128.         dd 0
  129. point2  dd 0
  130.         dd 0
  131.         dd 1
  132.         dd inicont
  133.         db '/rd/1/settings/lang.ini',0
  134.  
  135. get_key:
  136.         dd 0
  137. point   dd 0
  138.         dd 0
  139.         dd 384
  140.         dd current_keymap
  141.         db '/rd/1/settings/keymap.key',0
  142.  
  143. key_r           db 0
  144. key_r2          db 0
  145. inicont         db 0
  146. lngcrc1         db 0
  147. lngcrc2         db 0
  148. lngcrc3         db 0
  149. altlng1         db 0
  150. altlng2         db 0
  151. altlng3         db 0
  152. altlng4         db 0
  153. altlng5         db 0
  154. altlng6         db 0
  155. altlng7         db 0
  156. altlng8         db 0
  157. altlng9         db 0
  158.