Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
7707 Alex2003 1
2
xmlns:o="urn:schemas-microsoft-com:office:office"
3
xmlns:w="urn:schemas-microsoft-com:office:word"
4
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
5
xmlns="http://www.w3.org/TR/REC-html40">
6
 
7
8
9
10
11
12
13
31
32
33
332
418
448
449
 
450
451
 
452
453
 
454

Back to

457
main

458
 
459

 

462
 
463

Function 2 -

466
get the code of the pressed key

467
 
468

 

471
 
472

Takes the code of the pressed key from the buffer.

475
lang=EN-US style='font-family:"Arial","sans-serif";mso-ansi-language:EN-US'>

476
 
477

Characteristic:

480
 
481

  *

484
class=GramE>eax = 2 - the number of function

485
 
486

Returned value:

489
 
490

  * if

493
the buffer is empty, eax=1 is returned

494
 
495

 

498
style='mso-spacerun:yes'> * if the buffer is not empty, al=0, ah=key
499
code is returned, bits 16-23 contain the ASCII mode code of the pressed key, 
500
class=SpellE>scancodes in the mode indicator bits set to zero. Bits
501
23-31 are reset

502
 
503

  * if there is a" hot

506
key", it is returned al=2, ah=skankod of the
507
pressed key (0 for control keys), the highest word of the eax
508
register contains the state of the control keys when the hotkey is pressed

509
 
510

Comments:

513
 
514

 

517
* There is a 120-byte system-wide keystroke buffer, organized as a
518
queue.

519
 
520

 

523
* There is another system-wide buffer of 120 "hot keys".

524
 
525

 

528
* When this function is called by an application with an inactive window
529
it is considered that a buffer of keys pressed is empty.

530
 
531

 

534
* By default, this function returns ASCII codes; switch to 
535
class=SpellE>scancode mode (and back) using function 66. However,
536
hotkeys are always returned as scancodes.

537
 
538

 

541
* Find out which key combinations correspond to which codes, you 
542
class=SpellE>can,by running the 
543
class=SpellE>keyascii and scancode
544
applications.

545
 
546

 

549
* The codes are returned directly by the keyboard and are fixed; ASCII
550
codes are obtained using conversion tables, which can be set by sub-function 2
551
functions 21 and read sub-function 2 functions 26.

552
 
553

 

556
* As a result, ASCII codes take into account the current keyboard layout
557
(rus / en) in contrast to the scancodes.

558
 
559

 

562
* Information is received only about the hot keys that have been
563
identified by this stream by sub-function 4 of function 66.

564
 
565

 

568
 
569

Constants for registers:

572
 
573

 

576
class=GramE>eax-SF_GET_KEY (2)

577
 
578
579
 
580
581
 
582