Exemplo n.º 1
0
/*
 * WindowsKeyPush - handle the press of a key
*/
bool WindowsKeyPush( WORD vk, WORD data )
{
    vi_key      key;

    // if we're holding everything just eat the key quietly
    if( EditFlags.HoldEverything ) {
        return( TRUE );
    }
    key = MapVirtualKeyToVIKey( vk, data );
    if( key != VI_KEY( DUMMY ) ) {
        keyBuffer[bufferTop] = GetVIKey( key, 0, FALSE );
        bufferTop = (bufferTop + 1) % KEY_BUFFER_SIZE;
        return( TRUE );
    }
    return( FALSE );

} /* WindowsKeyPush */
Exemplo n.º 2
0
/*
 * HotkeyProc - pass hotkeys on to root for various modeless 'bars'
 */
long WINEXP HotkeyProc( HWND hwnd, UINT msg, UINT wparam, LONG lparam )
{
    vi_key      key;

    switch( msg ) {
    case WM_KEYDOWN:
        key = MapVirtualKeyToVIKey( wparam, HIWORD( lparam ) );
        if( key == VI_KEY( F7 ) ||
            key == VI_KEY( F8 ) ||
            key == VI_KEY( F9 ) ) {
            return( SendMessage( Root, msg, wparam, lparam ) );
        }
        break;
    }

    return( CallWindowProc( SubclassGenericFindOldProc( hwnd ),
                            hwnd, msg, wparam, lparam ) );
}
Exemplo n.º 3
0
/*
 * EditSubClassProc - handle keystrokes for an edit control
 */
WINEXPORT LRESULT CALLBACK EditSubClassProc( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam )
{
    vi_key      key;

    switch( msg ) {
    case WM_KEYDOWN:
        key = MapVirtualKeyToVIKey( wparam, HIWORD( lparam ) );
        if( handleKey( hwnd, key, TRUE ) ) {
            return( 0L );
        }
        break;
    case WM_CHAR:
        if( handleKey( hwnd, wparam, FALSE ) ) {
            return( 0L );
        }
        break;
    }
    return( CallWindowProc( oldEditProc, hwnd, msg, wparam, lparam ) );

} /* EditSubClassProc */