/programs/system/setup/trunk/setup.asm |
---|
25,15 → 25,30 |
invoke ini.get_str, sz_ini, sz_system, sz_language, param, 2, 0 |
mov ax, [param] |
or ax, 0x2020 ; convert to lowercase |
mov ecx,10 |
mov ecx,8 |
mov edi,langMarks |
repnz scasw |
jnz @f |
neg ecx |
add ecx,10 |
add ecx,8 |
mcall 21,5 |
@@: |
; Set keyboard layout |
mov word[param],0 |
invoke ini.get_str, sz_ini, sz_system, sz_keyboard, param, 2, 0 |
mov ax, [param] |
or ax, 0x2020 |
mov ecx,8 |
mov edi,langMarks |
repnz scasw |
jnz @f |
neg ecx |
add ecx,7 |
mov [keyboard],ecx |
call _keyboard |
@@: |
; Set font smoothing |
mov dword[param],0 |
invoke ini.get_str, sz_ini, sz_system, sz_fontSmooth, param, 4, 0 |
66,11 → 81,6 |
call _speaker_mute |
.skipSpeaker: |
; Set font size |
invoke ini.get_int, sz_ini, sz_system, sz_fontSize, 9 |
mov ecx,eax |
mcall 48,12 |
; Set mouse speed |
invoke ini.get_int, sz_ini, sz_mouse, sz_speed, 1 |
mov edx,eax |
121,8 → 131,11 |
cmp [param],dword 'BOOT' |
jz BootSettings |
pop eax |
; get current settings |
mcall 26,2,9 |
dec eax |
mov [keyboard],eax |
; get current settings |
mcall 26,5 |
dec eax |
mov [syslang],eax |
139,9 → 152,6 |
mcall 48,9 |
mov [fontSmoothing],eax |
mcall 48,11 |
mov [fontSize],eax |
call loadtxt |
draw_infotext: |
151,7 → 161,13 |
add edi,28 |
movsd |
movsd |
mov eax,[keyboard] |
add edi,LLL-8 |
lea esi,[eax*8+langs] |
movsd |
movsd |
add edi,LLL-8 |
mov eax,[lba_read] |
call onoff |
176,12 → 192,6 |
mov [edi+LLL*3],ebx |
mov [edi+LLL*3+4],ecx |
mov eax,[fontSize] |
mov bl, 10 |
div bl |
add ax, '00' |
mov [edi+LLL*4],ax |
draw_window: |
mcall 12,1 |
mov ecx,50*65536+32*(4+stringsAmount) |
262,15 → 272,26 |
language1: |
dec [syslang] |
jns @f |
mov [syslang],9 |
mov [syslang],7 |
jmp @f |
language2: |
inc [syslang] |
cmp [syslang],10 |
jc @f |
cmp [syslang],8 |
jnz @f |
mov [syslang],0 |
@@: |
jmp loadtxt |
layout1: |
dec [keyboard] |
jns @f |
mov [keyboard],7 |
ret |
layout2: |
inc [keyboard] |
cmp [keyboard],8 |
jnz @f |
mov [keyboard],0 |
ret |
LBA1: |
btr [lba_read],0 |
ret |
298,22 → 319,16 |
cmp [fontSmoothing],2 |
jz @f |
inc [fontSmoothing] |
ret |
fontSize1: |
cmp [fontSize],10 |
jc @f |
dec [fontSize] |
@@: |
ret |
fontSize2: |
inc [fontSize] |
ret |
apply_all: |
call fontApply |
call _syslang |
call _lba_read |
call _pci_acc |
call _speaker_mute |
call fontApply |
call fontSizeApply |
call _keyboard |
ret |
_syslang: |
mov ecx,[syslang] |
inc ecx |
328,16 → 343,26 |
fontApply: |
mcall 48,10,[fontSmoothing] |
ret |
fontSizeApply: |
mcall 48,12,[fontSize] |
ret |
_speaker_mute: |
mcall 18,8,1 |
cmp [speaker_mute],eax |
jz @f |
je @b |
inc ecx |
mcall 18 |
@@: |
_keyboard: |
mov ebp,[keyboard] |
mov edx,[ebp*4+keymapTab] |
mcall 21,2,1 |
inc ecx |
mov edx,[ebp*4+shiftKeymapTab] |
mcall 21 |
inc ecx |
mov edx,[ebp*4+altKeymapTab] |
mcall 21 |
mov edx,ebp |
inc edx |
mov cl, 9 |
mcall 21 |
ret |
;--------------------------------------------------------------- |
loadtxt: |
385,8 → 410,11 |
mov [param],eax |
invoke ini.set_str, sz_ini, sz_system, sz_language, param, 2 |
; font size |
invoke ini.set_int, sz_ini, sz_system, sz_fontSize, [fontSize] |
; keyboard layout |
mov eax,[keyboard] |
mov ax, [eax*2+langMarks] |
mov [param],eax |
invoke ini.set_str, sz_ini, sz_system, sz_keyboard, param, 2 |
; font smoothing |
mov dword[param],'off' |
432,6 → 460,9 |
dd language1 |
dd language2 |
dd _syslang |
dd layout1 |
dd layout2 |
dd _keyboard |
dd LBA1 |
dd LBA2 |
dd _lba_read |
444,16 → 475,40 |
dd font1 |
dd font2 |
dd fontApply |
dd fontSize1 |
dd fontSize2 |
dd fontSizeApply |
keymapTab: |
dd en_keymap |
dd fi_keymap |
dd ge_keymap |
dd ru_keymap |
dd fr_keymap |
dd et_keymap |
dd be_keymap |
dd it_keymap |
shiftKeymapTab: |
dd en_keymap_shift |
dd fi_keymap_shift |
dd ge_keymap_shift |
dd ru_keymap_shift |
dd fr_keymap_shift |
dd et_keymap_shift |
dd be_keymap_shift |
dd it_keymap_shift |
altKeymapTab: |
dd alt_general |
dd alt_general |
dd alt_general |
dd alt_general |
dd fr_keymap_alt_gr |
dd alt_general |
dd be_keymap_alt_gr |
dd it_keymap_alt_gr |
syslang dd 0 |
keyboard dd 0 |
lba_read dd 0 |
pci_acc dd 0 |
speaker_mute dd 0 |
fontSmoothing dd 0 |
fontSize dd 0 |
@IMPORT: |
library libini, 'libini.obj' |
468,7 → 523,7 |
sz_system db "system",0 |
sz_language db "language",0 |
sz_fontSize db "font height",0 |
sz_keyboard db "keyboard",0 |
sz_fontSmooth db "font smoothing",0 |
sz_speaker db "speaker mute",0 |
486,18 → 541,17 |
align 4 |
text dd 0 |
langs: |
db 'ENGLISH FINNISH GERMAN RUSSIAN FRENCH ' |
db 'ESTONIANUKRAINE ITALIAN BELGIAN SPANISH ' |
db 'ENGLISH FINNISH GERMAN RUSSIAN FRENCH ESTONIANBELGIAN ITALIAN ' |
langMarks: |
db 'enfiderufretukitbesp' |
db 'enfiderufretesit' |
textrus: |
db '§ëª á¨á⥬ë : < > ਬ¥¨âì' |
db ' ᪫ ¤ª ª« ¢¨ âãàë : < > ਬ¥¨âì' |
db 'ª«îç¨âì LBA : - + ਬ¥¨âì' |
db '®áâ㯠ª 訥 PCI : - + ਬ¥¨âì' |
db '몫îç¨âì SPEAKER : - + ਬ¥¨âì' |
db '£« ¦¨¢ ¨¥ èà¨ä⮢ : - + ਬ¥¨âì' |
db 'ëá®â èà¨ä⮢ : - + ਬ¥¨âì' |
db ' : ਬ¥¨âì ¢á¥' |
db ' ®åà ¨âì ¢á¥' |
504,11 → 558,11 |
texteng: |
db 'System language : < > Apply ' |
db 'Keyboard layout : < > Apply ' |
db 'Allow LBA access : - + Apply ' |
db 'Allow PCI access : - + Apply ' |
db 'Disable SPEAKER : - + Apply ' |
db 'Font smoothing : - + Apply ' |
db 'Font height : - + Apply ' |
db 'NOTE: Apply all ' |
db 'SAVE YOUR SETTINGS BEFORE QUITING KOLIBRI Save all ' |
515,15 → 569,16 |
textet: |
db 'Süsteemi keel : < > Kinnita ' |
db 'Klaviatuuri paigutus : < > Kinnita ' |
db 'LBA lugemine lubatud : - + Kinnita ' |
db 'PCI juurdepääs programm. : - + Kinnita ' |
db 'Disable SPEAKER : - + Kinnita ' |
db 'Font smoothing : - + Kinnita ' |
db 'Font height : - + Kinnita ' |
db 'MÄRKUS: Kinnita kõik ' |
db 'SALVESTA SEADED ENNE KOLIBRIST VÄLJUMIST Salvesta kõik' |
include 'keymaps.inc' |
IM_END: |
param: |
rb 1024 |
/programs/system/setup/trunk/keymaps.inc |
---|
0,0 → 1,194 |
alt_general: |
en_keymap: |
db '6',27 |
db '1234567890-=',8,9 |
db 'qwertyuiop[]',13 |
db '~asdfghjkl;',39,96,0,'\zxcvbnm,./',0,'45 ' |
db '@234567890123',180,178,184,'6',176,'7' |
db 179,'8',181,177,183,185,182 |
db 'AB<D',255,'FGHIJKLMNOPQRSTUVWXYZ' |
db 'ABCDEFGHIJKLMNOPQR' |
en_keymap_shift: |
db '6',27 |
db '!@#$%^&*()_+',8,9 |
db 'QWERTYUIOP{}',13 |
db '~ASDFGHJKL:"~',0,'|ZXCVBNM<>?',0,'45 ' |
db '@234567890123',180,178,184,'6',176,'7' |
db 179,'8',181,177,183,185,182 |
db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ' |
db 'ABCDEFGHIJKLMNOPQR' |
fr_keymap: |
db '6',27 |
db '&"',39,'(-_)=',8,9 |
db 'azertyuiop',136,'$',13 |
db '~qsdfghjklm',0,0,'*wxcvbn,;:!',0,'45 ' |
db '@234567890123',180,178,184,'6',176,'7' |
db 179,'8',181,177,183,185,182 |
db 'AB<D',255,'FGHIJKLMNOPQRSTUVWXYZ' |
db 'ABCDEFGHIJKLMNOPQR' |
fr_keymap_shift: |
db '6',27 |
db '1234567890+',8,9 |
db 'AZERTYUIOP',13 |
db '~QSDFGHJKLM%',0,'WXCVBN?./',0,'45 ' |
db '@234567890123',180,178,184,'6',176,'7' |
db 179,'8',181,177,183,185,182 |
db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ' |
db 'ABCDEFGHIJKLMNOPQR' |
fr_keymap_alt_gr: |
db '6',27 |
db 28,'~#{[|\^@]}',8,9 |
db 'azertyuiop^$',13 |
db '~qsdfghjklm',0,0,'*wxcvbn,;:!',0,'45 ' |
db '@234567890123',180,178,184,'6',176,'7' |
db 179,'8',181,177,183,185,182 |
db 'AB<D',255,'FGHIJKLMNOPQRSTUVWXYZ' |
db 'ABCDEFGHIJKLMNOPQR' |
fi_keymap: |
db '6',27 |
db '1234567890+[',8,9 |
db 'qwertyuiop',192,'~',13 |
db '~asdfghjkl',194,193,'1',0,39,'zxcvbnm,.-',0,'45 ' |
db '@234567890123',180,178,184,'6',176,'7' |
db 179,'8',181,177,183,185,182 |
db 'AB<D',255,'FGHIJKLMNOPQRSTUVWXYZ' |
db 'ABCDEFGHIJKLMNOPQR' |
fi_keymap_shift: |
db '6',27 |
db '!"#%&/()=?]',8,9 |
db 'QWERTYUIOP',200,'~',13 |
db '~ASDFGHJKL',202,201,'1',0,'*ZXCVBNM;:_',0,'45 ' |
db '@234567890123',180,178,184,'6',176,'7' |
db 179,'8',181,177,183,185,182 |
db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ' |
db 'ABCDEFGHIJKLMNOPQR' |
ge_keymap: |
db '6',27 |
db '1234567890?[',8,9 |
db 'qwertzuiop',203,'~',13 |
db '~asdfghjkl',194,193,'1',0,39,'yxcvbnm,.-',0,'45 ' |
db '@234567890123',180,178,184,'6',176,'7' |
db 179,'8',181,177,183,185,182 |
db 'AB<D',255,'FGHIJKLMNOPQRSTUVWXYZ' |
db 'ABCDEFGHIJKLMNOPQR' |
ge_keymap_shift: |
db '6',27 |
db '!"#$%&/()=',197,']',8,9 |
db 'QWERTZUIOP',195,'~',13 |
db '~ASDFGHJKL',202,201,'1',0,'*YXCVBNM;:_',0,'45 ' |
db '@234567890123',180,178,184,'6',176,'7' |
db 179,'8',181,177,183,185,182 |
db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ' |
db 'ABCDEFGHIJKLMNOPQR' |
ru_keymap: |
db '6',27 |
db '1234567890-=',8,9 |
db '©æ㪥£èé§åê',13 |
db 0,"äë¢ ¯à®«¤¦í" |
db 0xf1, '-/' |
db "ïçᬨâì¡î",'.-','45 ' |
db '@234567890123',180,178,184,'6',176,'7' |
db 179,'8',181,177,183,185,182 |
db 'AB<D',255,'FGHIJKLMNOPQRSTUVWXYZ' |
db 'ABCDEFGHIJKLMNOPQR' |
ru_keymap_shift: |
db '6',27 |
db '!"N;%:?*()_+',8,0 |
db " ",13 |
db 0,"" |
db 0xf0, '-\' |
db "",',-','45 ' |
db '@234567890123',180,178,184,'6',176,'7' |
db 179,'8',181,177,183,185,182 |
db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ' |
db 'ABCDEFGHIJKLMNOPQR' |
et_keymap: |
db '6',27 |
db '1234567890+´',8,9 |
db 'qwertyuiopüõ',13 |
db '~asdfghjklöä','1',0,39,'zxcvbnm,.-',0,'45 ' |
db '@234567890123',180,178,184,'6',176,'7' |
db 179,'8',181,177,183,185,182 |
db 'AB<D',255,'FGHIJKLMNOPQRSTUVWXYZ' |
db 'ABCDEFGHIJKLMNOPQR' |
et_keymap_shift: |
db '6',27 |
db '!"#¤%&/()=?`',8,9 |
db 'QWERTYUIOPÜÕ',13 |
db '~ASDFGHJKLÖÄ','1',0,'*ZXCVBNM;:_',0,'45 ' |
db '@234567890123',180,178,184,'6',176,'7' |
db 179,'8',181,177,183,185,182 |
db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ' |
db 'ABCDEFGHIJKLMNOPQR' |
be_keymap: |
db '6',27 |
db '&é"',39,'(§è!çà)-',8,9 |
db 'azertyuiop',136,'$',13 |
db '~qsdfghjklmù²',0,'µwxcvbn,;:=',0,'45 ' |
db '@2345-7+90123',180,178,184,'6',176,'7' |
db 179,'8',181,177,183,185,182 |
db 'AB<D',255,'FGHIJKLMNOPQRSTUVWXYZ' |
db 'ABCDEFGHIJKLMNOPQR' |
be_keymap_shift: |
db '6',27 |
db '1234567890°_',8,9 |
db 'AZERTYUIOP¨*',13 |
db '~QSDFGHJKLM%³',0,'£WXCVBN?./+',0,'45 ' |
db '@234567890123',180,178,184,'6',176,'7' |
db 179,'8',181,177,183,185,182 |
db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ' |
db 'ABCDEFGHIJKLMNOPQR' |
be_keymap_alt_gr: |
db '6',27 |
db '|@#',0,0,'^',0,0,'{}',0,0,8,9 |
db 'azrtyuiop[]',13 |
db '~qsdfghjklm´',0,0,'`wxcvbn',0,0,0,'~',0,'45 ' |
db '@234567890123',180,178,184,'6',176,'7' |
db 179,'8',181,177,183,185,182 |
db 'AB\D',255,'FGHIJKLMNOPQRSTUVWXYZ' |
db 'ABCDEFGHIJKLMNOPQR' |
it_keymap: |
db '6',27 |
db '1234567890',39,0,8,9 |
db 'qwertyuiop',0,'+',13 |
db '~asdfghjkl',0,0,0,0,'<zxcvbnm,.-',0,'45 ' |
db '@234567890123',180,178,184,'6',176,'7' |
db 179,'8',181,177,183,185,182 |
db 'AB<D',255,'FGHIJKLMNOPQRSTUVWXYZ' |
db 'ABCDEFGHIJKLMNOPQR' |
it_keymap_shift: |
db '6',27 |
db '!"',0,'$%&/()=?^',8,9 |
db 'QWERTYUIOP',0,'*',13 |
db '~ASDFGHJKL',0,0,0,0,'>ZXCVBNM;:_',0,'45 ' |
db '@234567890123',180,178,184,'6',176,'7' |
db 179,'8',181,177,183,185,182 |
db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ' |
db 'ABCDEFGHIJKLMNOPQR' |
it_keymap_alt_gr: |
db '6',27 |
db 172,185,178,179,188,189,172,'{[]}',96,'~',8,9 |
db 'qwertyuiop[]',13 |
db '~asdfghjkl@#',0,'<zxcvbnm;:_',0,'45 ' |
db '@234567890123',180,178,184,'6',176,'7' |
db 179,'8',181,177,183,185,182 |
db 'AB<D',255,'FGHIJKLMNOPQRSTUVWXYZ' |
db 'ABCDEFGHIJKLMNOPQR' |