From 6e7980b0ad162bbb526b3d52acbc1639c2b11760 Mon Sep 17 00:00:00 2001 From: Vadim Dashevskiy Date: Fri, 20 Jul 2012 10:43:41 +0000 Subject: Import, KeyboardNotify: changed folder structure git-svn-id: http://svn.miranda-ng.org/main/trunk@1071 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/KeyboardNotify/keyboard.cpp | 120 ------------------------------------ 1 file changed, 120 deletions(-) delete mode 100644 plugins/KeyboardNotify/keyboard.cpp (limited to 'plugins/KeyboardNotify/keyboard.cpp') diff --git a/plugins/KeyboardNotify/keyboard.cpp b/plugins/KeyboardNotify/keyboard.cpp deleted file mode 100644 index df1033fce7..0000000000 --- a/plugins/KeyboardNotify/keyboard.cpp +++ /dev/null @@ -1,120 +0,0 @@ -/* - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -*/ - -#define WIN32_LEAN_AND_MEAN - -#include -#include -#include -#include "keypresses.h" -#include -#include - - -// Globals -extern BOOL bWindowsNT; -extern BYTE bEmulateKeypresses; -HANDLE hKbdDev[10] = {INVALID_HANDLE_VALUE, INVALID_HANDLE_VALUE, INVALID_HANDLE_VALUE, INVALID_HANDLE_VALUE, INVALID_HANDLE_VALUE, INVALID_HANDLE_VALUE, INVALID_HANDLE_VALUE, INVALID_HANDLE_VALUE, INVALID_HANDLE_VALUE, INVALID_HANDLE_VALUE}; - -// Defines -#define MAX_KBDHANDLES 10 -#define IOCTL_KEYBOARD_SET_INDICATORS CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0002, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define IOCTL_KEYBOARD_QUERY_TYPEMATIC CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0008, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define IOCTL_KEYBOARD_QUERY_INDICATORS CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0010, METHOD_BUFFERED, FILE_ANY_ACCESS) - -typedef struct _KEYBOARD_INDICATOR_PARAMETERS { - USHORT UnitId; // Unit identifier. - USHORT LedFlags; // LED indicator state. - -} KEYBOARD_INDICATOR_PARAMETERS, *PKEYBOARD_INDICATOR_PARAMETERS; - - -void outportb(UINT portid, BYTE value) -{ - #if !defined( _WIN64 ) - __asm mov edx,portid - __asm mov al,value - __asm out dx,al - #endif -} - - -BOOL OpenKeyboardDevice() -{ - int i = 0; - TCHAR aux1[MAX_PATH+1], aux2[MAX_PATH+1]; - - if (!bWindowsNT) - return TRUE; - - do { - _snwprintf(aux1, sizeof(aux1), _T("Kbd%d"), i); - _snwprintf(aux2, sizeof(aux2), _T("\\Device\\KeyboardClass%d"), i); - DefineDosDevice(DDD_RAW_TARGET_PATH, aux1, aux2); - - _snwprintf(aux1, sizeof(aux1), _T("\\\\.\\Kbd%d"), i); - hKbdDev[i] = CreateFile(aux1, GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); - - } while (hKbdDev[i] != INVALID_HANDLE_VALUE && ++i < MAX_KBDHANDLES); - - return hKbdDev[0] != INVALID_HANDLE_VALUE; -} - -BOOL ToggleKeyboardLights(BYTE byte) -{ - int i; BOOL result = FALSE; - KEYBOARD_INDICATOR_PARAMETERS InputBuffer; // Input buffer for DeviceIoControl - ULONG DataLength = sizeof(KEYBOARD_INDICATOR_PARAMETERS); - ULONG ReturnedLength; // Number of bytes returned in output buffer - - if (bEmulateKeypresses) - return keypresses_ToggleKeyboardLights(byte); - - if (!bWindowsNT) { - outportb(0x60, 0xED); - Sleep(10); - outportb(0x60, byte); - return TRUE; - } - - InputBuffer.UnitId = 0; - InputBuffer.LedFlags = byte; - - for (i=0; i < MAX_KBDHANDLES && hKbdDev[i] != INVALID_HANDLE_VALUE; i++) - result |= DeviceIoControl(hKbdDev[i], IOCTL_KEYBOARD_SET_INDICATORS, &InputBuffer, DataLength, NULL, 0, &ReturnedLength, NULL); - - return result; -} - -void CloseKeyboardDevice() -{ - int i = 0; - TCHAR aux[MAX_PATH+1]; - - if (!bWindowsNT) - return; - - do { - if (hKbdDev[i] != INVALID_HANDLE_VALUE) - CloseHandle(hKbdDev[i]); - - _snwprintf(aux, sizeof(aux), _T("Kbd%d"), i); - DefineDosDevice(DDD_REMOVE_DEFINITION, aux, NULL); - - } while (hKbdDev[i] != INVALID_HANDLE_VALUE && ++i < MAX_KBDHANDLES); -} -- cgit v1.2.3