source: trunk/src/kernel32/console/vio32test.cpp@ 10010

Last change on this file since 10010 was 5024, checked in by sandervl, 25 years ago

added preliminary console code

File size: 2.0 KB
Line 
1#include <stdio.h>
2#include <stdlib.h>
3#include <string.h>
4#define INCL_DOS
5#define INCL_WIN
6#define INCL_BASE
7#include <os2.h>
8#include "vio32.h"
9
10
11BOOL filter1F(ULONG *eventType,VIO32EVENTINFO *event,VOID *filterData){
12 switch (*eventType){
13 case WM_CHAR:
14 printf("1WM_CHAR\n");
15 break;
16 case VIO_CHAR:
17 printf("1VIO_CHAR\n");
18 break;
19 case MON_CHAR:
20 printf("1MON_CHAR\n");
21 break;
22 case WM_MOVE:{
23 printf("1WM_MOVE\n");
24 } break;
25 default:
26 break;
27 }
28 return FALSE;
29}
30
31BOOL filter2F(ULONG *eventType,VIO32EVENTINFO *event,VOID *filterData){
32 switch (*eventType){
33 case WM_CHAR:
34 printf("2WM_CHAR\n");
35 break;
36 case VIO_CHAR:
37 printf("2VIO_CHAR\n");
38 break;
39 case MON_CHAR:
40 printf("2MON_CHAR\n");
41 break;
42 case WM_MOVE:{
43 printf("2WM_MOVE\n");
44 } break;
45 case KBD32_CHAR:
46 printf("2KBD32_CHAR\n");
47 break;
48 case VIO32_MOU:
49 printf("2VIO32_MOU\n");
50 break;
51 default:
52 break;
53 }
54 return FALSE;
55}
56
57vio32Filter filter1={NULL,(VOID *)"filter1",filter1F};
58vio32Filter filter2={NULL,(VOID *)"filter2",filter2F};
59
60
61void main(int argc, char **argv){
62
63 vio32Open();
64
65 kbd32SetMode(0);
66
67 ULONG where = VIO32_PRE_FIRST;
68 kbd32AddFilter(&filter1,&where);
69 where = VIO32_POST_FIRST;
70 kbd32AddFilter(&filter2,&where);
71
72 USHORT fs;
73 UCHAR cRepeat;
74 UCHAR scancode;
75 USHORT chr;
76 USHORT vkey;
77 while(1){
78 KBD32KEYINFO key;
79// DosSleep(1000);
80 BOOL ret = kbd32GetKey(&key,2000);
81 if (ret==0){
82 char cc = key.chr;
83 if (cc == 0) cc = ' ';
84 printf("ascii=(%c,%i) scan=%i status=%x vkey=%i up=%i\n",cc,key.chr & 255,key.scancode,key.status,key.vKey,key.keyUp);
85 } else printf("NO\n");
86 }
87
88 vio32Close();
89
90
91}
Note: See TracBrowser for help on using the repository browser.