Rev 9709 | Rev 9715 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 9709 | Rev 9710 | ||
---|---|---|---|
Line 75... | Line 75... | ||
75 | format binary as "mnt" |
75 | format binary as "mnt" |
Line 76... | Line 76... | ||
76 | 76 | ||
77 | include 'macros.inc' |
77 | include 'macros.inc' |
Line 78... | Line 78... | ||
78 | include 'struct.inc' |
78 | include 'struct.inc' |
Line 79... | Line 79... | ||
79 | 79 | ||
80 | $Revision: 9709 $ |
80 | $Revision: 9710 $ |
Line 1605... | Line 1605... | ||
1605 | @@: |
1605 | @@: |
1606 | ; F.21.2 - set keyboard layout |
1606 | ; F.21.2 - set keyboard layout |
1607 | dec ebx |
1607 | dec ebx |
1608 | jnz @f |
1608 | jnz @f |
Line 1609... | Line -... | ||
1609 | - | ||
1610 | mov edi, [current_slot] |
- | |
1611 | mov eax, [edi+APPDATA.mem_start] |
1609 | |
1612 | add eax, edx |
1610 | mov eax, edx |
1613 | ; 1 = normal layout |
1611 | ; 1 = normal layout |
1614 | dec ecx |
1612 | dec ecx |
Line 1615... | Line 1613... | ||
1615 | jnz .shift |
1613 | jnz .shift |
Line 1702... | Line 1700... | ||
1702 | @@: |
1700 | @@: |
1703 | ; F.26.2 - get keyboard layout |
1701 | ; F.26.2 - get keyboard layout |
1704 | dec ebx |
1702 | dec ebx |
1705 | jnz @f |
1703 | jnz @f |
Line 1706... | Line -... | ||
1706 | - | ||
1707 | mov edi, [current_slot] |
- | |
1708 | mov ebx, [edi+APPDATA.mem_start] |
1704 | |
1709 | add ebx, edx |
- | |
1710 | ; 1 = normal layout |
- | |
1711 | dec ecx |
- | |
1712 | jnz .shift |
- | |
1713 | 1705 | mov ebx, edx |
|
1714 | ; if given memory address belongs to kernel then error |
1706 | ; if given memory address belongs to kernel then error |
1715 | stdcall is_region_userspace, ebx, 128 |
1707 | stdcall is_region_userspace, ebx, 128 |
- | 1708 | jnz .addr_error |
|
- | 1709 | ; 1 = normal layout |
|
- | 1710 | dec ecx |
|
Line 1716... | Line 1711... | ||
1716 | jnz .addr_error |
1711 | jnz .shift |
1717 | 1712 | ||
1718 | mov eax, keymap |
1713 | mov eax, keymap |
1719 | mov ecx, 128 |
1714 | mov ecx, 128 |
Line 1723... | Line 1718... | ||
1723 | .shift: |
1718 | .shift: |
1724 | ; 2 = layout with pressed Shift |
1719 | ; 2 = layout with pressed Shift |
1725 | dec ecx |
1720 | dec ecx |
1726 | jnz .alt |
1721 | jnz .alt |
Line 1727... | Line -... | ||
1727 | - | ||
1728 | stdcall is_region_userspace, ebx, 128 |
- | |
1729 | jnz .addr_error |
- | |
1730 | 1722 | ||
1731 | mov eax, keymap_shift |
1723 | mov eax, keymap_shift |
1732 | mov ecx, 128 |
1724 | mov ecx, 128 |
1733 | call memmove |
1725 | call memmove |
1734 | ret |
1726 | ret |
1735 | ;-------------------------------------- |
1727 | ;-------------------------------------- |
1736 | .alt: |
1728 | .alt: |
1737 | ; 3 = layout with pressed Alt |
1729 | ; 3 = layout with pressed Alt |
1738 | dec ecx |
1730 | dec ecx |
Line 1739... | Line -... | ||
1739 | jne .country |
- | |
1740 | - | ||
1741 | stdcall is_region_userspace, ebx, 128 |
- | |
1742 | jnz .addr_error |
1731 | jne .country |
1743 | 1732 | ||
1744 | mov eax, keymap_alt |
1733 | mov eax, keymap_alt |
1745 | mov ecx, 128 |
1734 | mov ecx, 128 |
1746 | call memmove |
1735 | call memmove |