diff options
author | Vadim Dashevskiy <watcherhd@gmail.com> | 2012-07-09 07:51:11 +0000 |
---|---|---|
committer | Vadim Dashevskiy <watcherhd@gmail.com> | 2012-07-09 07:51:11 +0000 |
commit | 226e4fb73c7cc9fe7aa8d7e2afe9afc124a51cb7 (patch) | |
tree | 8c425311bfaf8199af2b55745f9cc7908184bdd6 /plugins/ChangeKeyboardLayout/src/main.cpp | |
parent | fb601ef6dc92cfcb1ce60fc7e93faae774a98b20 (diff) |
changekeyboardlayout: changed folder structure
git-svn-id: http://svn.miranda-ng.org/main/trunk@872 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/ChangeKeyboardLayout/src/main.cpp')
-rw-r--r-- | plugins/ChangeKeyboardLayout/src/main.cpp | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/plugins/ChangeKeyboardLayout/src/main.cpp b/plugins/ChangeKeyboardLayout/src/main.cpp new file mode 100644 index 0000000000..5cda47443b --- /dev/null +++ b/plugins/ChangeKeyboardLayout/src/main.cpp @@ -0,0 +1,75 @@ +#include "commonheaders.h"
+
+int hLangpack;
+LPTSTR ptszLayStrings[20];
+HANDLE hChangeLayout, hGetLayoutOfText, hChangeTextLayout;
+HICON hPopupIcon, hCopyIcon;
+HKL hklLayouts[20];
+BYTE bLayNum;
+HINSTANCE hInst;
+HHOOK kbHook_All;
+MainOptions moOptions;
+PopupOptions poOptions, poOptionsTemp;
+HANDLE hIcoLibIconsChanged;
+
+PLUGININFOEX pluginInfoEx = {
+ sizeof(PLUGININFOEX),
+ "Change Keyboard Layout",
+ VERSION,
+ "Plugin for change keyboard layout of text (multilayout).",
+ "Yasnovidyashii",
+ "Yasnovidyashii@gmail.com",
+ "© 2006-2009 Mikhail Yur'ev",
+ "http://lemnews.com/forum/viewtopic.php?t = 1493",
+ UNICODE_AWARE, //doesn't replace anything built-in
+ // {c5ef53a8-80d4-4ce9-b341-ec90d3ec9156}
+ {0xc5ef53a8, 0x80d4, 0x4ce9, { 0xb3, 0x41, 0xec, 0x90, 0xd3, 0xec, 0x91, 0x56 }}
+};
+
+LPCTSTR ptszKeybEng = _T("`1234567890- = \\qwertyuiop[]asdfghjkl;'zxcvbnm,./~!@#$%^&*()_+|QWERTYUIOP{}ASDFGHJKL:\"ZXCVBNM<>?");
+HKL hklEng = (HKL)0x04090409;
+
+LPCTSTR ptszSeparators = _T(" \t\n\r");
+
+HANDLE hOptionsInitialize;
+HANDLE hModulesLoaded;
+
+BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved)
+{
+ hInst = hinstDLL;
+ return TRUE;
+}
+
+extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD mirandaVersion)
+{
+ return &pluginInfoEx;
+}
+
+extern "C" __declspec(dllexport) int Load(void)
+{
+ mir_getLP(&pluginInfoEx);
+ ZeroMemory(hklLayouts, 20 * sizeof(HKL));
+ bLayNum = GetKeyboardLayoutList(20,hklLayouts);
+ if (bLayNum<2)
+ return 1;
+ hOptionsInitialize = HookEvent(ME_OPT_INITIALISE, OnOptionsInitialise);
+ hModulesLoaded = HookEvent(ME_SYSTEM_MODULESLOADED,ModulesLoaded);
+ return 0;
+}
+
+extern "C" __declspec(dllexport) int Unload(void)
+{
+ DWORD i;
+
+ for (i = 0;i<bLayNum;i++)
+ mir_free(ptszLayStrings[i]);
+
+ UnhookEvent(hOptionsInitialize);
+ UnhookEvent(hIcoLibIconsChanged);
+ UnhookEvent(hModulesLoaded);
+ DestroyServiceFunction(hChangeLayout);
+ DestroyServiceFunction(hGetLayoutOfText);
+ DestroyServiceFunction(hChangeTextLayout);
+ UnhookWindowsHookEx(kbHook_All);
+ return 0;
+}
\ No newline at end of file |