Subversion Repositories Kolibri OS

Rev

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: ----------------------