Rev 9796 | Rev 9964 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 9796 | Rev 9822 | ||
---|---|---|---|
Line 144... | Line 144... | ||
144 | * Scancodes come directly from keyboard and are fixed; |
144 | * Scancodes come directly from keyboard and are fixed; |
145 | ASCII-codes turn out with usage of the conversion tables, |
145 | ASCII-codes turn out with usage of the conversion tables, |
146 | which can be set by subfunction 2 of function 21 |
146 | which can be set by subfunction 2 of function 21 |
147 | and get by subfunction 2 of function 26. |
147 | and get by subfunction 2 of function 26. |
148 | * As a consequence, ASCII-codes take into account current |
148 | * As a consequence, ASCII-codes take into account current |
149 | keyboard layout (rus/en) as opposed to scancodes. |
149 | keyboard layout (en, fi, etc) as opposed to scancodes. |
150 | * This function notifies only about those hotkeys, which were |
150 | * This function notifies only about those hotkeys, which were |
151 | defined by this thread by subfunction 4 of function 66. |
151 | defined by this thread by subfunction 4 of function 66. |
Line 152... | Line 152... | ||
152 | 152 | ||
153 | ---------------------- Constants for registers: ---------------------- |
153 | ---------------------- Constants for registers: ---------------------- |
Line 1327... | Line 1327... | ||
1327 | * 2 = layout at pressed Shift |
1327 | * 2 = layout at pressed Shift |
1328 | * 3 = layout at pressed Alt |
1328 | * 3 = layout at pressed Alt |
1329 | * edx = pointer to layout - table of length 128 bytes |
1329 | * edx = pointer to layout - table of length 128 bytes |
1330 | Or: |
1330 | Or: |
1331 | * ecx = 9 |
1331 | * ecx = 9 |
1332 | * dx = country identifier (1=eng, 2=fi, 3=ger, 4=rus) |
1332 | * edx = language id: 1=en, 2=fi, 3=ge, 4=ru, 5=fr, 6=et, 7=ua, 8=it, |
- | 1333 | 9=be, 10=sp, 11=ca |
|
1333 | Returned value: |
1334 | Returned value: |
1334 | * eax = 0 - success |
1335 | * eax = 0 - success |
1335 | * eax = 1 - incorrect parameter |
1336 | * eax = -1 - incorrect parameter |
1336 | Remarks: |
1337 | Remarks: |
1337 | * If Alt is pressed, the layout with Alt is used; |
1338 | * If Alt is pressed, the layout with Alt is used; |
1338 | if Alt is not pressed, but Shift is pressed, |
1339 | if Alt is not pressed, but Shift is pressed, |
1339 | the layout with Shift is used; |
1340 | the layout with Shift is used; |
1340 | if Alt and Shift are not pressed, but Ctrl is pressed, the normal |
1341 | if Alt and Shift are not pressed, but Ctrl is pressed, the normal |
Line 1354... | Line 1355... | ||
1354 | ========== Function 21, subfunction 5 - set system language. ========= |
1355 | ========== Function 21, subfunction 5 - set system language. ========= |
1355 | ====================================================================== |
1356 | ====================================================================== |
1356 | Parameters: |
1357 | Parameters: |
1357 | * eax = 21 - function number |
1358 | * eax = 21 - function number |
1358 | * ebx = 5 - subfunction number |
1359 | * ebx = 5 - subfunction number |
1359 | * ecx = system language (1=eng, 2=fi, 3=ger, 4=rus) |
1360 | * ecx = language id: 1=en, 2=fi, 3=ge, 4=ru, 5=fr, 6=et, 7=ua, 8=it, |
- | 1361 | 9=be, 10=sp, 11=ca |
|
1360 | Returned value: |
1362 | Returned value: |
1361 | * eax = 0 |
1363 | * eax = 0 |
1362 | Remarks: |
1364 | Remarks: |
1363 | * System language is global system variable and is not used |
1365 | * System language is global system variable and is not used |
1364 | by the kernel itself, however application @taskbar draws the |
1366 | by the kernel itself, however application @taskbar draws the |
Line 1569... | Line 1571... | ||
1569 | Or: |
1571 | Or: |
1570 | * eax = 26 - function number |
1572 | * eax = 26 - function number |
1571 | * ebx = 2 - subfunction number |
1573 | * ebx = 2 - subfunction number |
1572 | * ecx = 9 |
1574 | * ecx = 9 |
1573 | Returned value: |
1575 | Returned value: |
1574 | * eax = country identifier (1=eng, 2=fi, 3=ger, 4=rus) |
1576 | * eax = language id: 1=en, 2=fi, 3=ge, 4=ru, 5=fr, 6=et, 7=ua, 8=it, |
- | 1577 | 9=be, 10=sp, 11=ca |
|
1575 | Remarks: |
1578 | Remarks: |
1576 | * If Alt is pressed, the layout with Alt is used; |
1579 | * If Alt is pressed, the layout with Alt is used; |
1577 | if Alt is not pressed, but Shift is pressed, |
1580 | if Alt is not pressed, but Shift is pressed, |
1578 | the layout with Shift is used; |
1581 | the layout with Shift is used; |
1579 | if Alt and Shift are not pressed, but Ctrl is pressed, the normal |
1582 | if Alt and Shift are not pressed, but Ctrl is pressed, the normal |
Line 1594... | Line 1597... | ||
1594 | ====================================================================== |
1597 | ====================================================================== |
1595 | Parameters: |
1598 | Parameters: |
1596 | * eax = 26 - function number |
1599 | * eax = 26 - function number |
1597 | * ebx = 5 - subfunction number |
1600 | * ebx = 5 - subfunction number |
1598 | Returned value: |
1601 | Returned value: |
1599 | * eax = system language (1=eng, 2=fi, 3=ger, 4=rus) |
1602 | * eax = language id: 1=en, 2=fi, 3=ge, 4=ru, 5=fr, 6=et, 7=ua, 8=it, |
- | 1603 | 9=be, 10=sp, 11=ca |
|
1600 | Remarks: |
1604 | Remarks: |
1601 | * System language is global system variable and is not used |
1605 | * System language is global system variable and is not used |
1602 | by the kernel itself, however application @taskbar draws the |
1606 | by the kernel itself, however application @taskbar draws the |
1603 | appropriate icon (using this function). |
1607 | appropriate icon (using this function). |
1604 | * To set system language use subfunction 5 of function 21. |
1608 | * To set system language use subfunction 5 of function 21. |
Line 1816... | Line 1820... | ||
1816 | eax - SF_GET_IMAGE (36) |
1820 | eax - SF_GET_IMAGE (36) |
1817 | ====================================================================== |
1821 | ====================================================================== |
1818 | =================== Function 37 - work with mouse. =================== |
1822 | =================== Function 37 - work with mouse. =================== |
1819 | ====================================================================== |
1823 | ====================================================================== |
Line 1820... | Line 1824... | ||
1820 | 1824 | ||
1821 | ---------- Subfunction 0 - screen coordinates of the mouse ----------- |
1825 | -------- Subfunction 0 - get screen coordinates of the mouse --------- |
1822 | Parameters: |
1826 | Parameters: |
1823 | * eax = 37 - function number |
1827 | * eax = 37 - function number |
1824 | * ebx = 0 - subfunction number |
1828 | * ebx = 0 - subfunction number |
1825 | Returned value: |
1829 | Returned value: |
Line 1839... | Line 1843... | ||
1839 | relative y-coordinate, and the high word - relative x-coordinate |
1843 | relative y-coordinate, and the high word - relative x-coordinate |
1840 | (with correct sign). Otherwise the low word is negative and still |
1844 | (with correct sign). Otherwise the low word is negative and still |
1841 | contains relative y-coordinate, and to the high word |
1845 | contains relative y-coordinate, and to the high word |
1842 | 1 should be added. |
1846 | 1 should be added. |
Line 1843... | Line 1847... | ||
1843 | 1847 | ||
1844 | ------------- Subfunction 2 - states of the mouse buttons ------------ |
1848 | ----------- Subfunction 2 - get states of the mouse buttons ---------- |
1845 | Parameters: |
1849 | Parameters: |
1846 | * eax = 37 - function number |
1850 | * eax = 37 - function number |
1847 | * ebx = 2 - subfunction number |
1851 | * ebx = 2 - subfunction number |
1848 | Returned value: |
1852 | Returned value: |
Line 1849... | Line 1853... | ||
1849 | * eax = bits 0-4 equal to subfunction 3 |
1853 | * eax = bits 0-4 equal to subfunction 3 |
1850 | 1854 | ||
1851 | ------- Subfunction 3 - states and events of the mouse buttons ------- |
1855 | ----- Subfunction 3 - get states and events of the mouse buttons ----- |
1852 | Parameters: |
1856 | Parameters: |
1853 | * eax = 37 - function number |
1857 | * eax = 37 - function number |
1854 | * ebx = 3 - subfunction number |
1858 | * ebx = 3 - subfunction number |
Line 1939... | Line 1943... | ||
1939 | -------- Subfunction 8 - load cursor, specifying the encoding -------- |
1943 | -------- Subfunction 8 - load cursor, specifying the encoding -------- |
1940 | Parameters: |
1944 | Parameters: |
1941 | * eax = 37 - function number |
1945 | * eax = 37 - function number |
1942 | * ebx = 8 - subfunction number |
1946 | * ebx = 8 - subfunction number |
1943 | * ecx = pointer to the cursor file path string |
1947 | * ecx = pointer to the cursor file path string |
1944 | * edx = string encoding, details can be found in function 80 description. |
1948 | * edx = string encoding, details can be found in function 80 |
- | 1949 | description. |
|
1945 | Returned value: |
1950 | Returned value: |
1946 | * eax = cursor handle, 0 - failed |
1951 | * eax = cursor handle, 0 - failed |
Line 1947... | Line 1952... | ||
1947 | 1952 | ||
1948 | ---------------------- Constants for registers: ---------------------- |
1953 | ---------------------- Constants for registers: ---------------------- |