Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 2531 → Rev 2532

/programs/system/panel/trunk/MOI.INC
1,76 → 1,107
;------------------------------------------------------------------------------
align 4
load_ini:
mov [point2],16h
 
mcall 70,get_ini
 
mov al,[inicont]
sub al,30h
mov [firini],al
mov [point2],32h
 
mcall 70,get_ini
 
mov al,[inicont]
sub al,30h
mov [lngcrc1],al
mov [point2],42h
 
mcall 70,get_ini
 
mov al,[inicont]
sub al,30h
mov [lngcrc2],al
mov [point2],52h
 
mcall 70,get_ini
 
mov al,[inicont]
sub al,30h
mov [lngcrc3],al
mov [point2],06eh
 
mcall 70,get_ini
 
mov al,[inicont]
sub al,30h
mov [altlng1],al
mov [point2],07eh
 
mcall 70,get_ini
 
mov al,[inicont]
sub al,30h
mov [altlng2],al
mov [point2],08eh
 
mcall 70,get_ini
 
mov al,[inicont]
sub al,30h
mov [altlng3],al
mov [point2],09eh
 
mcall 70,get_ini
 
mov al,[inicont]
sub al,30h
mov [altlng4],al
mov [point2],0aeh
 
mcall 70,get_ini
 
mov al,[inicont]
sub al,30h
mov [altlng5],al
mov [point2],0beh
 
mcall 70,get_ini
 
mov al,[inicont]
sub al,30h
mov [altlng6],al
mov [point2],0ceh
 
mcall 70,get_ini
 
mov al,[inicont]
sub al,30h
mov [altlng7],al
mov [point2],0deh
 
mcall 70,get_ini
 
mov al,[inicont]
sub al,30h
mov [altlng8],al
mov [point2],0eeh
 
mcall 70,get_ini
 
mov al,[inicont]
sub al,30h
mov [altlng9],al
mov [point2],0feh
 
mcall 70,get_ini
 
mov al,[inicont]
sub al,30h
mov [altlng0],al
 
ret
;------------------------------------------------------------------------------
align 4
fir_lng:
mov al,[firini]
sub al,1
78,265 → 109,289
mul dx
mov [point],eax
mcall 70,get_key
mov eax,21
mov ebx,2
mov ecx,1
mov edx,current_keymap
mcall
mov eax,21
 
mcall 21,2,1,current_keymap
 
inc ecx
mov edx,current_keymap_shift
mcall
mov eax,21
mcall 21,,,current_keymap_shift
 
inc ecx
mov edx,current_keymap_alt
mcall
mov eax,21
mov ecx,9
mcall 21,,,current_keymap_alt
 
movzx edx,[firini]
mcall
mcall 21,,9
ret
;------------------------------------------------------------------------------
align 4
karu:
add [key_r2],1
cmp [key_r2],3
jb .altes
 
mov [key_r2],0
;--------------------------------------
align 4
.altes:
cmp [key_r2],0
je .klt_1
 
cmp [key_r2],1
je .klt_2
 
cmp [key_r2],2
je .klt_3
 
jmp still
;--------------------------------------
align 4
.klt_1:
mov al,[lngcrc1]
sub al,1
mov [key_r],al
jmp alted
;--------------------------------------
align 4
.klt_2:
mov al,[lngcrc2]
sub al,1
mov [key_r],al
jmp alted
;--------------------------------------
align 4
.klt_3:
mov al,[lngcrc3]
sub al,1
mov [key_r],al
jmp alted
ret
;------------------------------------------------------------------------------
align 4
alter:
cmp [key_r],0
je .alt_1
 
cmp [key_r],1
je .alt_2
 
cmp [key_r],2
je .alt_3
 
cmp [key_r],3
je .alt_4
 
cmp [key_r],4
je .alt_5
 
cmp [key_r],5
je .alt_6
 
cmp [key_r],6
je .alt_7
;--------------------------------------
align 4
.alt_1:
mov al,[altlng1]
cmp al,0
je .exit
 
sub al,1
mov [key_r],al
jmp alted
 
;--------------------------------------
align 4
.alt_2:
mov al,[altlng2]
cmp al,0
je .exit
 
sub al,1
mov [key_r],al
jmp alted
;--------------------------------------
align 4
.alt_3:
mov al,[altlng3]
cmp al,0
je .exit
 
sub al,1
mov [key_r],al
jmp alted
;--------------------------------------
align 4
.alt_4:
mov al,[altlng4]
cmp al,0
je .exit
 
sub al,1
mov [key_r],al
jmp alted
;--------------------------------------
align 4
.alt_5:
mov al,[altlng5]
cmp al,0
je .exit
 
sub al,1
mov [key_r],al
jmp alted
;--------------------------------------
align 4
.alt_6:
mov al,[altlng6]
cmp al,0
je .exit
 
sub al,1
mov [key_r],al
jmp alted
;--------------------------------------
align 4
.alt_7:
mov al,[altlng7]
cmp al,0
je .exit
 
sub al,1
mov [key_r],al
jmp alted
;--------------------------------------
align 4
.exit:
ret
;------------------------------------------------------------------------------
align 4
alted:
cmp [key_r],0
je alt_1
 
cmp [key_r],1
je alt_2
 
cmp [key_r],2
je alt_3
 
cmp [key_r],3
je alt_4
 
cmp [key_r],4
je alt_5
 
cmp [key_r],5
je alt_6
 
cmp [key_r],6
je alt_7
 
ret
;------------------------------------------------------------------------------
align 4
alt_1:
mov [point],0
mov [point],0 ; english
mcall 70,get_key
mov eax,21 ; english 0
mov ebx,2
mov ecx,1
mov edx,current_keymap
mcall
mov eax,21
 
mcall 21,2,1,current_keymap
 
inc ecx
mov edx,current_keymap_shift
mcall
mov eax,21
mov ecx,9
mov edx,1 ; 1 - english
mcall
mcall 21,,,current_keymap_shift
mcall 21,,9,1 ; 1 - english
ret
;------------------------------------------------------------------------------
align 4
alt_2:
mov [point],1536
mov [point],384 ;1536 ; finnish
mcall 70,get_key
mov eax,21 ; finnish
mov ebx,2
mov ecx,1
mov edx,current_keymap
mcall
mov eax,21
 
mcall 21,2,1,current_keymap
 
inc ecx
mov edx,current_keymap_shift
mcall
mov eax,21
mov ecx,9
mov edx,2 ; 2 - finnish
mcall
mcall 21,,,current_keymap_shift
 
mcall 21,,9,2 ; 2 - finnish
ret
;------------------------------------------------------------------------------
align 4
alt_3:
mov [point],768
mov [point],768 ; german
mcall 70,get_key
mov eax,21 ; german
mov ebx,2
mov ecx,1
mov edx,current_keymap
mcall
mov eax,21
 
mcall 21,2,1,current_keymap
 
inc ecx
mov edx,current_keymap_shift
mcall
mov eax,21
mov ecx,9
mov edx,3 ; 3 - german
mcall
mcall 21,,,current_keymap_shift
 
mcall 21,,9,3 ; 3 - german
ret
;------------------------------------------------------------------------------
align 4
alt_4:
mov [point],384
mov [point],1152 ;384 ; russian
mcall 70,get_key
mov eax,21 ; russian
mov ebx,2
mov ecx,1
mov edx,current_keymap
mcall
mov eax,21
 
mcall 21,2,1,current_keymap
 
inc ecx
mov edx,current_keymap_shift
mcall
mov eax,21
mov ecx,9
mov edx,4 ; 4 - russian
mcall
mcall 21,,,current_keymap_shift
mcall 21,,9,4 ; 4 - russian
ret
;------------------------------------------------------------------------------
align 4
alt_5:
mov [point],1152
mov [point],1536 ;1152 ;french
mcall 70,get_key
mov eax,21 ;french
mov ebx,2
mov ecx,1
mov edx,current_keymap
mcall
mov eax,21
 
mcall 21,2,1,current_keymap
 
inc ecx
mov edx,current_keymap_shift
mcall
mov eax,21
mcall 21,,,current_keymap_shift
 
inc ecx
mov edx,current_keymap_alt
mcall
mov eax,21
mov ecx,9
mov edx,5 ; 5 - french
mcall
mcall 21,,,current_keymap_alt
 
mcall 21,,9,5 ; 5 - french
ret
;------------------------------------------------------------------------------
align 4
alt_6:
mov [point],1920
mov [point],1920 ; estonian
mcall 70,get_key
mov eax,21 ; estonian
mov ebx,2
mov ecx,1
mov edx,current_keymap
mcall
mov eax,21
 
mcall 21,2,1,current_keymap
 
inc ecx
mov edx,current_keymap_shift
mcall
mov eax,21
mov ecx,9
mov edx,6 ; 6 - estonian
mcall
mcall 21,,,current_keymap_shift
mcall 21,,9,6 ; 6 - estonian
ret
;------------------------------------------------------------------------------
align 4
alt_7:
mov [point],2304
mov [point],2304 ; ukrainian
mcall 70,get_key
mov eax,21 ; ukrainian
mov ebx,2
mov ecx,1
mov edx,current_keymap
mcall
mov eax,21
 
mcall 21,2,1,current_keymap
 
inc ecx
mov edx,current_keymap_shift
mcall
mov eax,21
mov ecx,9
mov edx,7 ; 7 - ukrainian
mcall
mcall 21,,,current_keymap_shift
 
mcall 21,,9,7 ; 7 - ukrainian
ret
;------------------------------------------------------------------------------
align 4
current_keymap:
rb 128
;------------------------------------------------------------------------------
align 4
current_keymap_shift:
rb 128
;------------------------------------------------------------------------------
align 4
current_keymap_alt:
rb 128
;------------------------------------------------------------------------------
key_r db 0
key_r2 db 0
key_r3 db 0
355,8 → 410,9
altlng8 db 0
altlng9 db 0
altlng0 db 0
get_key:
dd 0
;------------------------------------------------------------------------------
align 4
get_key: dd 0
point dd 0
dd 0
dd 384
363,8 → 419,9
dd current_keymap
db 0
dd key_file
get_ini:
dd 0
;------------------------------------------------------------------------------
align 4
get_ini: dd 0
point2 dd 0
dd 0
dd 1
371,6 → 428,6
dd inicont
db 0
dd ini_file
 
;------------------------------------------------------------------------------
key_file: db '/rd/1/keymap.key',0
ini_file: db '/rd/1/lang.ini',0