KeyEvents.h File Reference

#include <windows.h>
#include "wcommon.h"

Include dependency graph for KeyEvents.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void ON_EVENT_GRAPH_WM_KEYUP (HWND hwnd, UINT vk, BOOL fDown, int cRepeat, UINT flags)
void ON_EVENT_GRAPH_WM_KEYDOWN (HWND hwnd, UINT vk, BOOL fDown, int cRepeat, UINT flags)


Function Documentation

void ON_EVENT_GRAPH_WM_KEYDOWN ( HWND  hwnd,
UINT  vk,
BOOL  fDown,
int  cRepeat,
UINT  flags 
)

Definition at line 89 of file KeyEvents.c.

References Char, check_pointer_win(), CTRL_KEY, BCG::CurWindow, GetScilabSpecialKeyCode(), is_dead_key(), IsASpecialKey(), KeyState, memset(), PushClickQueue(), UINT, x, and y.

Referenced by GetEventKeyboardAndMouse().

00090 {
00091         if ( is_dead_key (vk) )
00092         {
00093                 // Nothing to do
00094         }
00095         else
00096         {
00097                 if (IsASpecialKey(vk))
00098                 {
00099                         struct BCG *ScilabGC = (struct BCG *) GetWindowLong (hwnd, 0);
00100                         int x,y,iwin;
00101                         check_pointer_win(&x,&y,&iwin);
00102                         PushClickQueue (ScilabGC->CurWindow, x,y,(int)GetScilabSpecialKeyCode(vk),0,0);
00103                 }
00104                 else
00105                 {
00106                         WORD Char=0;
00107                         BYTE KeyState[256]; // Etat des 256 touches du clavier 
00108                         memset ( KeyState, 0, sizeof(KeyState) ); 
00109                         if ( GetKeyboardState ( KeyState ) ) 
00110                         {
00111                                 int RetToAscii=0;
00112                                 int x,y,iwin;
00113                                 struct BCG *ScilabGC = (struct BCG *) GetWindowLong (hwnd, 0);
00114                                 int CodeKey=0;
00115 
00116                                 RetToAscii=ToAscii ( (UINT) vk,MapVirtualKey(vk, 0), KeyState, &Char, 0 );
00117                                 if (RetToAscii)
00118                                 {
00119                                         if (GetKeyState (VK_CONTROL) < 0)
00120                                         {
00121                                                 if ((Char>=1) && (Char<=29))
00122                                                 {
00123                                                         CodeKey=('a'-1+Char)+CTRL_KEY;
00124                                                 }
00125                                         }
00126                                         else CodeKey=Char;
00127 
00128                                         check_pointer_win(&x,&y,&iwin);
00129                                         PushClickQueue (ScilabGC->CurWindow, x,y,(int)CodeKey,0,0);
00130                                 }
00131                         }
00132                 }
00133         }
00134 }

Here is the call graph for this function:

Here is the caller graph for this function:

void ON_EVENT_GRAPH_WM_KEYUP ( HWND  hwnd,
UINT  vk,
BOOL  fDown,
int  cRepeat,
UINT  flags 
)

Definition at line 42 of file KeyEvents.c.

References Char, check_pointer_win(), CTRL_KEY, BCG::CurWindow, GetScilabSpecialKeyCode(), is_dead_key(), IsASpecialKey(), KeyState, memset(), PushClickQueue(), UINT, x, and y.

Referenced by GetEventKeyboardAndMouse().

00043 {
00044         if ( is_dead_key (vk) )
00045         {
00046                 // Nothing to do
00047         }
00048         else
00049         {
00050                 if (IsASpecialKey(vk))
00051                 {
00052                         struct BCG *ScilabGC = (struct BCG *) GetWindowLong (hwnd, 0);
00053                         int x,y,iwin;
00054                         check_pointer_win(&x,&y,&iwin);
00055                         PushClickQueue (ScilabGC->CurWindow, x,y,-(int)GetScilabSpecialKeyCode(vk),0,1);
00056                 }
00057                 else
00058                 {
00059                         WORD Char=0;
00060                         BYTE KeyState[256]; // Etat des 256 touches du clavier 
00061                         memset ( KeyState, 0, sizeof(KeyState) ); 
00062                         if ( GetKeyboardState ( KeyState ) ) 
00063                         {
00064                                 int RetToAscii=0;
00065                                 int x,y,iwin;
00066                                 struct BCG *ScilabGC = (struct BCG *) GetWindowLong (hwnd, 0);
00067                                 int CodeKey=0;
00068 
00069                                 RetToAscii=ToAscii ( (UINT) vk,MapVirtualKey(vk, 0), KeyState, &Char, 0 );
00070                                 if (RetToAscii)
00071                                 {
00072                                         if (GetKeyState (VK_CONTROL) < 0)
00073                                         {
00074                                                 if ((Char>=1) && (Char<=29))
00075                                                 {
00076                                                         CodeKey=('a'-1+Char)+CTRL_KEY;
00077                                                 }
00078                                         }
00079                                         else CodeKey=Char;
00080 
00081                                         check_pointer_win(&x,&y,&iwin);
00082                                         PushClickQueue (ScilabGC->CurWindow, x,y,-(int)CodeKey,0,1);
00083                                 }
00084                         }
00085                 }
00086         }
00087 }

Here is the call graph for this function:

Here is the caller graph for this function:


Generated on Sun Mar 4 15:57:45 2007 for Scilab [trunk] by  doxygen 1.5.1