From 4e29740d3c64192408c1b69acb2230999b8624ac Mon Sep 17 00:00:00 2001 From: "mellowaredev@gmail.com" Date: Tue, 19 Oct 2010 22:41:18 +0000 Subject: [PATCH] Initial Check In git-svn-id: http://jintellitype.googlecode.com/svn/trunk@3 46e98894-136e-cd33-ffd5-f4f03a221aa8 --- JIntellitype.dll | Bin 0 -> 30208 bytes JIntellitype64.dll | Bin 0 -> 468704 bytes license.txt | 176 +++++ pom.xml | 302 ++++++++ readme.txt | 129 ++++ src/assembly/descriptor.xml | 35 + src/changes/changes.xml | 102 +++ src/main/cpp/JIntellitype.cpp | 157 +++++ src/main/cpp/JIntellitype.dev | 149 ++++ src/main/cpp/JIntellitype.layout | 76 ++ src/main/cpp/JIntellitypeHandler.cpp | 279 ++++++++ src/main/cpp/JIntellitypeHandler.h | 93 +++ src/main/cpp/JIntellitypeThread.cpp | 133 ++++ src/main/cpp/JIntellitypeThread.h | 55 ++ src/main/cpp/JIntellitype_private.h | 23 + src/main/cpp/JIntellitype_private.rc | 35 + src/main/cpp/Makefile.win | 46 ++ src/main/cpp/StdAfx.cpp | 8 + src/main/cpp/StdAfx.h | 24 + .../com_melloware_jintellitype_JIntellitype.h | 53 ++ .../jintellitype/HotkeyListener.java | 46 ++ .../jintellitype/IntellitypeListener.java | 51 ++ .../melloware/jintellitype/JIntellitype.java | 663 ++++++++++++++++++ .../jintellitype/JIntellitypeConstants.java | 182 +++++ .../jintellitype/JIntellitypeException.java | 55 ++ .../java/com/melloware/jintellitype/Main.java | 80 +++ src/site/fml/faq.fml | 131 ++++ src/site/resources/default.aspx | 1 + src/site/resources/favicon.ico | Bin 0 -> 3638 bytes src/site/resources/images/devc-jni.jpg | Bin 0 -> 27291 bytes src/site/resources/images/duke.gif | Bin 0 -> 8039 bytes src/site/resources/images/duke.ico | Bin 0 -> 3638 bytes src/site/resources/images/duke_up.ico | Bin 0 -> 766 bytes .../resources/images/jintellitype-banner.png | Bin 0 -> 17324 bytes .../images/jintellitype-banner.pspimage | Bin 0 -> 39482 bytes .../resources/images/jintellitype-logo.png | Bin 0 -> 24944 bytes .../images/jintellitype-logo.pspimage | Bin 0 -> 75418 bytes src/site/resources/images/windows.png | Bin 0 -> 1069 bytes src/site/site.xml | 56 ++ src/site/xdoc/contacts.xml | 32 + src/site/xdoc/dev-cpp.xml | 37 + src/site/xdoc/index.xml | 121 ++++ src/site/xdoc/quick-start.xml | 110 +++ .../com/melloware/JIntellitypeTester.java | 310 ++++++++ src/test/resources/log4j.properties | 29 + 45 files changed, 3779 insertions(+) create mode 100644 JIntellitype.dll create mode 100644 JIntellitype64.dll create mode 100644 license.txt create mode 100644 pom.xml create mode 100644 readme.txt create mode 100644 src/assembly/descriptor.xml create mode 100644 src/changes/changes.xml create mode 100644 src/main/cpp/JIntellitype.cpp create mode 100644 src/main/cpp/JIntellitype.dev create mode 100644 src/main/cpp/JIntellitype.layout create mode 100644 src/main/cpp/JIntellitypeHandler.cpp create mode 100644 src/main/cpp/JIntellitypeHandler.h create mode 100644 src/main/cpp/JIntellitypeThread.cpp create mode 100644 src/main/cpp/JIntellitypeThread.h create mode 100644 src/main/cpp/JIntellitype_private.h create mode 100644 src/main/cpp/JIntellitype_private.rc create mode 100644 src/main/cpp/Makefile.win create mode 100644 src/main/cpp/StdAfx.cpp create mode 100644 src/main/cpp/StdAfx.h create mode 100644 src/main/cpp/com_melloware_jintellitype_JIntellitype.h create mode 100644 src/main/java/com/melloware/jintellitype/HotkeyListener.java create mode 100644 src/main/java/com/melloware/jintellitype/IntellitypeListener.java create mode 100644 src/main/java/com/melloware/jintellitype/JIntellitype.java create mode 100644 src/main/java/com/melloware/jintellitype/JIntellitypeConstants.java create mode 100644 src/main/java/com/melloware/jintellitype/JIntellitypeException.java create mode 100644 src/main/java/com/melloware/jintellitype/Main.java create mode 100644 src/site/fml/faq.fml create mode 100644 src/site/resources/default.aspx create mode 100644 src/site/resources/favicon.ico create mode 100644 src/site/resources/images/devc-jni.jpg create mode 100644 src/site/resources/images/duke.gif create mode 100644 src/site/resources/images/duke.ico create mode 100644 src/site/resources/images/duke_up.ico create mode 100644 src/site/resources/images/jintellitype-banner.png create mode 100644 src/site/resources/images/jintellitype-banner.pspimage create mode 100644 src/site/resources/images/jintellitype-logo.png create mode 100644 src/site/resources/images/jintellitype-logo.pspimage create mode 100644 src/site/resources/images/windows.png create mode 100644 src/site/site.xml create mode 100644 src/site/xdoc/contacts.xml create mode 100644 src/site/xdoc/dev-cpp.xml create mode 100644 src/site/xdoc/index.xml create mode 100644 src/site/xdoc/quick-start.xml create mode 100644 src/test/java/com/melloware/JIntellitypeTester.java create mode 100644 src/test/resources/log4j.properties diff --git a/JIntellitype.dll b/JIntellitype.dll new file mode 100644 index 0000000000000000000000000000000000000000..839236b25240f69e8ae6822cfd8abc13b6b8b178 GIT binary patch literal 30208 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≥ZeIL?1y`%F>2o*z*G< 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 literal 0 HcmV?d00001 diff --git a/license.txt b/license.txt new file mode 100644 index 0000000..f91da00 --- /dev/null +++ b/license.txt @@ -0,0 +1,176 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..34efae0 --- /dev/null +++ b/pom.xml @@ -0,0 +1,302 @@ + + 4.0.0 + com.melloware + jintellitype + jar + 1.3.5 + http://www.melloware.com + JIntellitype + JNI Java bridge to Microsoft Intellitype commands. + + Melloware Inc + http://www.melloware.com + + + http://melloware.com/images/header.jpg + + 1999 + + scm:svn:https://jintellitype.googlecode.com/svn/trunk/ + scm:svn:https://jintellitype.googlecode.com/svn/trunk/ + scm:svn:https://jintellitype.googlecode.com/svn/trunk/ + + + + The Apache Software License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + + + + + mellowaredev@gmail.com + Melloware + mellowaredev@gmail.com + http://www.melloware.com + Melloware Inc + http://www.melloware.com + + Architect + + + + + + Bertrand Florat + bflorat@users.sourceforge.net + http://jajuk.info + Jajuk Team + http://jajuk.info + + Code Contributor + + + + Peter Fichtner + fichtner@c2tn.de + http://www.c2tn.de + C2TN Team + http://www.c2tn.de + + Code Contributor + + + + Thomas Beckers + + http://www.atunes.org/ + aTunes Team + http://www.atunes.org/ + + Code Contributor + + + + Karl von Randow + + http://xk72.com/ + XK72 + http://xk72.com/ + + Code Contributor + + + + Johannes Frank + + http://radis.sf.net/ + RadiS + http://radis.sf.net/ + + Code Contributor + + + + Wordoholic + + http://wordoholic.com/ + Wordoholic + http://wordoholic.com/ + + Code Contributor + + + + Zeroflag + + + ZeroFlag + + + x64 DLL Contributor + + + + Lars + + + Hamburg + + + Strings for Register Hotkeys + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.5 + 1.5 + + + + maven-assembly-plugin + + + + com.melloware.jintellitype.Main + + + + src/assembly/descriptor.xml + + target/assembly + target/assembly/work + + + + make-assembly + package + + assembly + + + + + + + maven-jar-plugin + + + + com.melloware.jintellitype.Main + + + ${pom.url} + ${project.artifactId} + ${project.organization.name} + ${project.organization.name} + ${project.description} + ${project.version} + + + + + + org.apache.maven.plugins + maven-eclipse-plugin + + true + true + true + + + + maven-surefire-plugin + org.apache.maven.plugins + + true + + + + org.apache.maven.plugins + maven-changes-plugin + + + validate-changes + pre-site + + changes-validate + + + true + + + + + + + + + + org.apache.maven.plugins + maven-project-info-reports-plugin + + + + summary + dependencies + dependency-convergence + project-team + license + + + + + + org.apache.maven.plugins + maven-jxr-plugin + + + org.apache.maven.plugins + maven-javadoc-plugin + + + http://java.sun.com/j2se/1.4.2/docs/api + + false + + + + org.apache.maven.plugins + maven-pmd-plugin + + + /rulesets/basic.xml + /rulesets/imports.xml + /rulesets/unusedcode.xml + /rulesets/finalizers.xml + /rulesets/logging-jakarta-commons.xml + /rulesets/logging-java.xml + /rulesets/migrating_to_15.xml + /rulesets/design.xml + /rulesets/strings.xml + + 150 + true + utf-8 + 1.6 + + + + org.codehaus.mojo + taglist-maven-plugin + + + TODO + @todo + FIXME + XXX + + + + + org.apache.maven.plugins + maven-changes-plugin + + + + changes-report + + + + + + + + + melloware + melloware + ${distribution.url} + + + melloware + JIntellitype Website + scp://www.melloware.com/products/jintellitype + + + \ No newline at end of file diff --git a/readme.txt b/readme.txt new file mode 100644 index 0000000..d65b444 --- /dev/null +++ b/readme.txt @@ -0,0 +1,129 @@ +JIntellitype Read Me +http://www.melloware.com/ + +Copyright 1999-2010 Emil A. Lefkof III + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +Contents +-------- +1. Overview +2. Features +3. Installation +4. Quick Usage +5. Acknowledgements +6. Feedback + +1. Overview + -------- + JIntellitype is an API for interacting with Microsoft Intellitype keyboard + commands as well as registering for Global Hotkeys in your application. + The API is a Java JNI library that uses a DLL to do all the communication + with Windows. This library ONLY works on Windows. + + Have you ever wanted to have CTRL+SHIFT+G maximize your Swing application + on the desktop even if that application did not have focus? Now you can by + registering a Windows Hotkey combination your application will be alerted + when the combination you select is pressed anywhere in Windows. + + Have you ever wanted to react to those special Play, Pause, Stop keys on some + Microsoft and Logitech keyboards? Even some laptops now have those special + keys built in and if you want your application to "listen" for them, now you + can! + + +2. Features + -------- + -> Can register global hotkey combinations in Windows + -> Application is notified even if it does not have focus. + -> Can react to those Play, Pause, Stop, Next, Forward Media keys like Winamp + -> Very little code, easy to use API + -> Examples included in JIntellitypeTester.java + +3. Installation + ------------ + + FOR USERS: + -> Copy the following files into your classpath + -> jintellitype.jar + -> JIntellitype.dll (or put in Windows/System32) + -> JIntellitype64.dll (rename to JIntellitype.dll and put in path) + + FOR DEVELOPERS: + -> To build you need Maven 2.0.7 or higher installed from Apache. Just run "mvn package" from the + directory where the pom.xml is located to build the project. + + -> To build the C++ code you need Bloodshed C++ IDE. When you load the .dev project included do not + forget to edit Project->Options and under Directories Tab change the Includes directory to contain + both: + /java5/include + /java5/include/win32 + + Where "java5" is the location of your Java JDK. + + +4. Quick Usage + ------------ + +// Create JIntellitype + ... + JIntellitype.getInstance().addHotKeyListener(new HotKeyListener() {...); + JIntellitype.getInstance().addIntellitypeListener(new IntellitypeListener() {...); + ... + +// Assign global hotkeys to Windows+A and ALT+SHIFT+B + JIntellitype.getInstance().registerHotKey(1, JIntellitype.MOD_WIN, (int)'A'); + JIntellitype.getInstance().registerHotKey(2, JIntellitype.MOD_ALT + JIntellitype.MOD_SHIFT, (int)'B'); + +// listen for hotkey + public void onHotKey(int aIdentifier) { + if (aIdentifier == 1) + System.out.println("WINDOWS+A hotkey pressed"); + } + } + +// listen for intellitype play/pause command + public void onIntellitype(int aCommand) { + switch (aCommand) { + case JIntellitype.APPCOMMAND_MEDIA_PLAY_PAUSE: + System.out.println("Play/Pause message received " + Integer.toString(aCommand)); + break; + default: + System.out.println("Undefined INTELLITYPE message caught " + Integer.toString(aCommand)); + break; + } + } + +// Termination + ... + JIntellitype.getInstance().cleanUp(); + System.exit(0); + + + +See demo at test/com/melloware/jintellitype/JIntellitypeTester.java for more info.. + +5. Acknowledgements + ---------------- + JIntellitype is distributed with a small number of libraries on which it depends. + Those libraries are: + + -> None currently + +6. Feedback + -------- + Your feedback on JIntellitype (hopefully constructive) is always welcome. Please + visit http://www.melloware.com/ for links to browse and join mailing + lists, file bugs and submit feature requests. + + Also a forum is set up at http://forum.melloware.com/index.php for discussion. diff --git a/src/assembly/descriptor.xml b/src/assembly/descriptor.xml new file mode 100644 index 0000000..0f6f4a1 --- /dev/null +++ b/src/assembly/descriptor.xml @@ -0,0 +1,35 @@ + + dist + + zip + + + + target + + + *.jar + + + + src\main + + **/.svn/** + + + + src\test + + **/.svn/** + + + + + *.dll + pom.xml + readme.txt + license.txt + + + + \ No newline at end of file diff --git a/src/changes/changes.xml b/src/changes/changes.xml new file mode 100644 index 0000000..0d4cd5d --- /dev/null +++ b/src/changes/changes.xml @@ -0,0 +1,102 @@ + + + + + + Release Notes + Melloware + + + + + + Modified JIntellitype.java a bit so that it would a)copy .dll files from jar to a temp location and b)load 64bit .dll if 32bit fails. Tested on WinXP 32bit and Win7 64bit (with 64bit JVM). + + + + + Now enables the user to use all keys instead of just [A-Z],[0-9] as before + + + + + Added JIntellitype64.dll for 64 bit JRE's. Simply rename the DLL to + JIntellitype.dll or use the Jintellitype.setLibraryLocation(''); function + to set the path to JIntellitype64.dll. + + + + + Fixed "Jintellitype.setLibraryLocation('');" method to to allow developers + to set the path of the JIntellitype.DLL for use in executable jar's etc. + + + Removed Commons-Logging dependency + + + + + Fixed "Jintellitype.swingToIntelliType()" method to handle both the old + style and new style Swing/AWT modifiers. Such as the older InputEvent.SHIFT_MASK + and the newer InputEvent.SHIFT_DOWN_MASK will both return the SHIFT + modifier. + + + + + Found and fixed race condition in C DLL that was causing the problem of being + able to only register one hotkey at a time. + + + Fixed "on" methods to be synchronized and added properly. + + + Added isJintellitypeSupported() method which checks the DLL is in the path + and the operating System is Windows and its a 32 bit JDK since it will + not run on 64 bit JVM. + + + + + Added Javadoc that explains a modifier of 0 means that no modifier is required if you + want to have a single key be a hotkey. + + + Added example of just using the PRINT_SCREEN key with no modifiers as a hotkey. + + + Added more constants to JIntellitypeConstants.java based on MSDN documentation. + + + Made JIntellitype singleton thread safe by using double checked pattern. + + + + + Added registerHotKey(int identifier, String modifierAndKeyCode) to allow Strings like "CTRL+A" to be + used to register hotkeys for applications that want their users to be able to define hotkeys. + + + Added checkInstanceAlreadyRunning(String appTitle) to prevent multiple instances + of your application from being started if you don't want to. Returns true + if an instance with this application title is already running on the system. + Useful for developers who only want ONE instance of their app running. + + + + + Changed Jintellitype to a singleton class like JIntellitype.getInstance() + + + Added ability to use Swing constants for ALT, CTRL, SHIFT. + + + + + Initial release of the JIntellitype API. + + + + + + \ No newline at end of file diff --git a/src/main/cpp/JIntellitype.cpp b/src/main/cpp/JIntellitype.cpp new file mode 100644 index 0000000..060b2d5 --- /dev/null +++ b/src/main/cpp/JIntellitype.cpp @@ -0,0 +1,157 @@ +/* + JIntellitype (http://www.melloware.com/) + Java JNI API for Windows Intellitype commands and global keystrokes. + + Copyright (C) 1999, 2008 Emil A. Lefkof III, info@melloware.com + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + Compiled with Mingw port of GCC, + Bloodshed Dev-C++ IDE (http://www.bloodshed.net/devcpp.html) +*/ +#include "stdafx.h" +#include "com_melloware_jintellitype_JIntellitype.h" +#include "JIntellitypeHandler.h" + +HINSTANCE g_instance = NULL; + + +BOOL WINAPI DllMain +( + HINSTANCE hinstDLL, // handle to DLL module + DWORD fdwReason, // reason for calling function + LPVOID lpvReserved // reserved +) +{ + switch( fdwReason ) + { + case DLL_THREAD_ATTACH: + case DLL_THREAD_DETACH: + case DLL_PROCESS_DETACH: + + case DLL_PROCESS_ATTACH: + g_instance = hinstDLL; + + break; + } + return TRUE; +} + + +extern "C" +/* + * Class: com_melloware_jintellitype_JIntellitype + * Method: initializeLibrary + * Signature: ()V + */ +JNIEXPORT void JNICALL Java_com_melloware_jintellitype_JIntellitype_initializeLibrary + (JNIEnv *env, jobject object) +{ + // Get handler + JIntellitypeHandler *l_handler = JIntellitypeHandler::extract( env, object ); + + // Create our handler + l_handler = new JIntellitypeHandler( env, object ); + + // Enable it + if( l_handler ) + l_handler->initialize(env, g_instance); +} + +extern "C" +/* + * Class: com_melloware_jintellitype_JIntellitype + * Method: regHotKey + * Signature: (III)V + */ +JNIEXPORT void JNICALL Java_com_melloware_jintellitype_JIntellitype_regHotKey + (JNIEnv *env, jobject object, jint identifier, jint modifier, jint keycode) +{ + // Get handler + JIntellitypeHandler *l_handler = JIntellitypeHandler::extract( env, object ); + + if( l_handler ) + { + l_handler->regHotKey(identifier, modifier, keycode); + } + else + { + // throw exception + jclass JIntellitypeException = env->FindClass("com/melloware/jintellitype/JIntellitypeException"); + env->ThrowNew(JIntellitypeException,"JIntellitype was not initialized properly."); + } +} + +extern "C" +/* + * Class: com_melloware_jintellitype_JIntellitype + * Method: unregHotKey + * Signature: (I)V + */ +JNIEXPORT void JNICALL Java_com_melloware_jintellitype_JIntellitype_unregHotKey + (JNIEnv *env, jobject object, jint identifier) +{ + // Get handler + JIntellitypeHandler *l_handler = JIntellitypeHandler::extract( env, object ); + + if( l_handler ) + { + l_handler->unregHotKey(identifier); + } + else + { + // throw exception + jclass JIntellitypeException = env->FindClass("com/melloware/jintellitype/JIntellitypeException"); + env->ThrowNew(JIntellitypeException,"JIntellitype was not initialized properly."); + } + +} + +extern "C" +/* + * Class: com_melloware_jintellitype_JIntellitype + * Method: terminate + * Signature: ()V + */ +JNIEXPORT void JNICALL Java_com_melloware_jintellitype_JIntellitype_terminate + (JNIEnv *env, jobject object) +{ + // Get handler + JIntellitypeHandler *l_handler = JIntellitypeHandler::extract( env, object ); + + // Clean up all resources allocated by this API + if( l_handler ) + l_handler->terminate(); + +} + +extern "C" +/* + * Class: com_melloware_jintellitype_JIntellitype + * Method: isRunning + * Signature: (Ljava/lang/String;)Z + */ +JNIEXPORT jboolean JNICALL Java_com_melloware_jintellitype_JIntellitype_isRunning + (JNIEnv *env, jclass, jstring wndName) +{ + // App name for the hidden window's registered class + CHAR szAppName[] = "SunAwtFrame"; + const char *cWndName = env->GetStringUTFChars(wndName, 0); + // Find out if there's a hidden window with the given title + HWND mHwnd = FindWindow(szAppName, cWndName); + env->ReleaseStringUTFChars(wndName, cWndName); + // If there is, another instance of our app is already running + return mHwnd != NULL; +} + diff --git a/src/main/cpp/JIntellitype.dev b/src/main/cpp/JIntellitype.dev new file mode 100644 index 0000000..62fa7e1 --- /dev/null +++ b/src/main/cpp/JIntellitype.dev @@ -0,0 +1,149 @@ +[Project] +FileName=JIntellitype.dev +Name=JIntellitype +Ver=1 +IsCpp=1 +Type=3 +Compiler=-D__GNUWIN32__ -W -DWIN32 -DNDEBUG -D_WINDOWS -D_MBCS -D_USRDLL -DBUILDING_DLL=1_@@_ +CppCompiler=-D__GNUWIN32__ -W -DWIN32 -DNDEBUG -D_WINDOWS -D_MBCS -D_USRDLL_@@_ +Includes=c:\java\jdk1.2.2\include;c:\java\jdk1.2.2\include\win32 +Linker=-lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 --no-export-all-symbols --add-stdcall-alias_@@_ +Libs= +UnitCount=8 +Folders="Header Files","Resource Files","Source Files" +ObjFiles= +PrivateResource=JIntellitype_private.rc +ResourceIncludes= +MakeIncludes= +Icon= +ExeOutput=..\..\..\..\jintellitype +ObjectOutput=..\..\..\target +OverrideOutput=0 +OverrideOutputName=JIntellitype.dll +HostApplication= +CommandLine= +UseCustomMakefile=0 +CustomMakefile= +IncludeVersionInfo=1 +SupportXPThemes=0 +CompilerSet=0 +CompilerSettings=0000000001001000000100 + +[Unit1] +FileName=JIntellitypeThread.cpp +Folder="Source Files" +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=JIntellitype.cpp +Folder="Source Files" +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=JIntellitypeHandler.cpp +Folder="Source Files" +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit5] +FileName=JIntellitypeHandler.h +Folder="Header Files" +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit7] +FileName=StdAfx.h +Folder="Header Files" +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit8] +FileName=com_melloware_jintellitype_JIntellitype.h +Folder=Header Files +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=465 +LanguageID=1033 +CharsetID=1252 +CompanyName=Melloware Inc (www.melloware.com) +FileVersion=1.0 +FileDescription=Java JNI bridge to MS Intellitype commands +InternalName= +LegalCopyright=Copyright 2006 Melloware Inc +LegalTrademarks=Copyright 2006 Melloware Inc +OriginalFilename= +ProductName=JIntellitype +ProductVersion=1.0 +AutoIncBuildNr=1 + +[Unit11] +FileName=com_melloware_jintellitype_JIntellitype.h +CompileCpp=1 +Folder=Header Files +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit10] +FileName=com_melloware_jintellitype_JIntellitype.h +CompileCpp=1 +Folder=Header Files +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit4] +FileName=StdAfx.cpp +CompileCpp=1 +Folder="Source Files" +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit6] +FileName=JIntellitypeThread.h +CompileCpp=1 +Folder="Header Files" +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/src/main/cpp/JIntellitype.layout b/src/main/cpp/JIntellitype.layout new file mode 100644 index 0000000..6956056 --- /dev/null +++ b/src/main/cpp/JIntellitype.layout @@ -0,0 +1,76 @@ +[Editor_9] +CursorCol=1 +CursorRow=20 +TopLine=1 +LeftChar=1 +Open=0 +Top=0 +[Editors] +Focused=2 +Order=1,2,0,7,4 +[Editor_0] +Open=1 +Top=0 +CursorCol=5 +CursorRow=118 +TopLine=71 +LeftChar=1 +[Editor_1] +Open=1 +Top=0 +CursorCol=36 +CursorRow=149 +TopLine=75 +LeftChar=1 +[Editor_2] +Open=1 +Top=1 +CursorCol=14 +CursorRow=209 +TopLine=162 +LeftChar=1 +[Editor_3] +Open=0 +Top=0 +CursorCol=23 +CursorRow=3 +TopLine=1 +LeftChar=1 +[Editor_4] +Open=1 +Top=0 +CursorCol=1 +CursorRow=27 +TopLine=1 +LeftChar=1 +[Editor_5] +Open=0 +Top=0 +CursorCol=3 +CursorRow=24 +TopLine=11 +LeftChar=1 +[Editor_6] +Open=0 +Top=0 +CursorCol=1 +CursorRow=16 +TopLine=1 +LeftChar=1 +[Editor_7] +Open=1 +Top=0 +CursorCol=54 +CursorRow=35 +TopLine=3 +LeftChar=1 +[Editor_8] +Open=0 +Top=0 +CursorCol=1 +CursorRow=3 +TopLine=1 +LeftChar=1 +[Editor_10] +Open=0 +Top=0 diff --git a/src/main/cpp/JIntellitypeHandler.cpp b/src/main/cpp/JIntellitypeHandler.cpp new file mode 100644 index 0000000..666fc5d --- /dev/null +++ b/src/main/cpp/JIntellitypeHandler.cpp @@ -0,0 +1,279 @@ +/* + JIntellitype (http://www.melloware.com/) + Java JNI API for Windows Intellitype commands and global keystrokes. + + Copyright (C) 1999, 2008 Emil A. Lefkof III, info@melloware.com + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + Compiled with Mingw port of GCC, + Bloodshed Dev-C++ IDE (http://www.bloodshed.net/devcpp.html) +*/ +#include "stdafx.h" +#include "JIntellitypeHandler.h" +#include "JIntellitypeThread.h" +#include + + +UINT WM_SHELLHOOK = 0; + +/* + * Extract the unique handlerID from the java object + */ +JIntellitypeHandler *JIntellitypeHandler::extract( JNIEnv *env, jobject object ) +{ + // Get field ID + jfieldID l_handlerId = env->GetFieldID( env->GetObjectClass( object ), "handler", "I" ); + + // Get field + JIntellitypeHandler *l_handler = (JIntellitypeHandler *) env->GetIntField( object, l_handlerId ); + + return l_handler; +} + +/* + * Constructor + */ +JIntellitypeHandler::JIntellitypeHandler( JNIEnv *env, jobject object ) +{ + m_window = NULL; + + // Reference object + m_object = env->NewGlobalRef(object ); + + // Get method IDs + m_fireHotKey = env->GetMethodID( env->GetObjectClass( m_object ) , "onHotKey", "(I)V" ); + m_fireIntellitype = env->GetMethodID( env->GetObjectClass( m_object ) , "onIntellitype", "(I)V" ); + + // Get field ID + jfieldID l_handlerId = env->GetFieldID( env->GetObjectClass( m_object ) , "handler", "I" ); + + // Set field + env->SetIntField( m_object, l_handlerId, (jint) this ); +} + +/* + * Destructor + */ +JIntellitypeHandler::~JIntellitypeHandler() +{ + // Get field ID + jfieldID l_handlerId = g_JIntellitypeThread.m_env->GetFieldID( g_JIntellitypeThread.m_env->GetObjectClass( m_object ), "handler", "I" ); + + // Set field + g_JIntellitypeThread.m_env->SetIntField( m_object, l_handlerId, 0 ); + + // Release our reference + g_JIntellitypeThread.m_env->DeleteGlobalRef( m_object ); + + // unregister the shell hook + DeregisterShellHookWindow( m_window ); + + // Destroy window + DestroyWindow( m_window ); +} + + +/* + * Perform initialization of the object and thread. + */ +void JIntellitypeHandler::initialize( JNIEnv *env, HINSTANCE instance ) +{ + m_instance = instance; + g_JIntellitypeThread.MakeSureThreadIsUp( env ); + while( !PostThreadMessage( g_JIntellitypeThread, WM_JINTELLITYPE, INITIALIZE_CODE, (LPARAM) this ) ) + Sleep( 0 ); +} + +/* + * Callback method that creates the hidden window on initialization to receive + * any WM_HOTKEY messages and process them. + */ +void JIntellitypeHandler::doInitialize() +{ + // Register window class + WNDCLASSEX l_Class; + l_Class.cbSize = sizeof( l_Class ); + l_Class.style = CS_HREDRAW | CS_VREDRAW; + l_Class.lpszClassName = TEXT( "JIntellitypeHandlerClass" ); + l_Class.lpfnWndProc = WndProc; + l_Class.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH); + l_Class.hCursor = NULL; + l_Class.hIcon = NULL; + l_Class.hIconSm = NULL; + l_Class.lpszMenuName = NULL; + l_Class.cbClsExtra = 0; + l_Class.cbWndExtra = 0; + l_Class.hInstance = m_instance; + + if( !RegisterClassEx( &l_Class ) ) + return; + + // Create window + m_window = CreateWindow + ( + TEXT( "JIntellitypeHandlerClass" ), + TEXT( "JIntellitypeHandler" ), + WS_OVERLAPPEDWINDOW, + 0, 0, 0, 0, + NULL, + NULL, + m_instance, + NULL + ); + + if( !m_window ) + return; + + //Set pointer to this object inside the Window's USERDATA section + SetWindowLong( m_window, GWL_USERDATA, (LONG) this ); + + // hide the window + ShowWindow(m_window, SW_HIDE); + UpdateWindow(m_window); + + //register this window as a shell hook to intercept WM_APPCOMMAND messages + WM_SHELLHOOK = RegisterWindowMessage(TEXT("SHELLHOOK")); + BOOL (__stdcall *RegisterShellHookWindow)(HWND) = NULL; + RegisterShellHookWindow = (BOOL (__stdcall *)(HWND))GetProcAddress(GetModuleHandle("USER32.DLL"), "RegisterShellHookWindow"); + + //make sure it worked + if (!RegisterShellHookWindow(m_window)) { + // throw exception + jclass JIntellitypeException = g_JIntellitypeThread.m_env->FindClass("com/melloware/jintellitype/JIntellitypeException"); + g_JIntellitypeThread.m_env->ThrowNew(JIntellitypeException,"Could not register window as a shell hook window."); + } +} + +/* + * Registers a hotkey. + * identifier - unique identifier assigned to this key comination + * modifier - ALT, SHIFT, CTRL, WIN or combination of + * keycode- Ascii keycode, 65 for A, 66 for B etc + */ +void JIntellitypeHandler::regHotKey( jint identifier, jint modifier, jint keycode ) +{ + JIntellitypeHandlerCallback *callback = (JIntellitypeHandlerCallback*) malloc(sizeof(JIntellitypeHandlerCallback)); + callback->identifier = identifier; + callback->modifier = modifier; + callback->keycode = keycode; + callback->handler = this; + PostThreadMessage( g_JIntellitypeThread, WM_JINTELLITYPE, REGISTER_HOTKEY_CODE, (LPARAM) callback ); +} + +/* + * Actually registers the hotkey using the Win32API RegisterHotKey call. + */ +void JIntellitypeHandler::doRegHotKey(LPARAM callback_) +{ + JIntellitypeHandlerCallback *callback = (JIntellitypeHandlerCallback*) callback_; + RegisterHotKey(m_window, callback->identifier, callback->modifier, callback->keycode); + free(callback); +} + +/* + * Unregisters a previously assigned hotkey. + * identifier - unique identifier assigned to this key comination + */ +void JIntellitypeHandler::unregHotKey( jint identifier ) +{ + JIntellitypeHandlerCallback *callback = (JIntellitypeHandlerCallback*) malloc(sizeof(JIntellitypeHandlerCallback)); + callback->identifier = identifier; + callback->handler = this; + PostThreadMessage( g_JIntellitypeThread, WM_JINTELLITYPE, UNREGISTER_HOTKEY_CODE, (LPARAM) callback ); +} + +/* + * Actually unregisters the hotkey using the Win32API UnregisterHotKey call. + */ +void JIntellitypeHandler::doUnregisterHotKey(LPARAM callback_) +{ + JIntellitypeHandlerCallback *callback = (JIntellitypeHandlerCallback*) callback_; + UnregisterHotKey(m_window, callback->identifier); + free(callback); +} + +/* + * When an intellitype command is recieved by the JFrame this method is called + * to perform a callback to the Intellitype java listeners. + * commandId - the unique command Id from the WM_APPCOMMAND listings + */ +void JIntellitypeHandler::intellitype( jint commandId ) +{ + JIntellitypeHandlerCallback *callback = (JIntellitypeHandlerCallback*) malloc(sizeof(JIntellitypeHandlerCallback)); + callback->command = commandId; + callback->handler = this; + PostThreadMessage( g_JIntellitypeThread, WM_JINTELLITYPE, INTELLITYPE_CODE, (LPARAM) callback ); +} + +/* + * Call the correct JVM with the intellitype command for the listeners listening. + */ +void JIntellitypeHandler::doIntellitype(LPARAM callback_) +{ + JIntellitypeHandlerCallback *callback = (JIntellitypeHandlerCallback*) callback_; + g_JIntellitypeThread.m_env->CallVoidMethod(m_object, m_fireIntellitype, callback->command); + free(callback); +} + +/* + * Cleans up resources allocated by JIntellitype. + */ +void JIntellitypeHandler::terminate() +{ + PostThreadMessage( g_JIntellitypeThread, WM_JINTELLITYPE, TERMINATE_CODE, (LPARAM) this ); +} + +/* + * Callback method to send hotkey to the Java HotKeyListeners registered. + */ +void JIntellitypeHandler::fireHotKey(jint hotkeyId) +{ + g_JIntellitypeThread.m_env->CallVoidMethod(m_object, m_fireHotKey, hotkeyId); +} + + +/* + * WndProc method registered to the hidden window to listen for WM_HOTKEY + * messages and send them back to the Java listeners. + */ +LRESULT CALLBACK JIntellitypeHandler::WndProc( HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam ) +{ + + // check for Intellitype messages and if found send them to Intellitype listeners + if (uMessage == WM_SHELLHOOK) { + if (wParam == HSHELL_APPCOMMAND) { + jint cmd = GET_APPCOMMAND_LPARAM(lParam); + JIntellitypeHandler *l_this = (JIntellitypeHandler *) GetWindowLong( hWnd, GWL_USERDATA ); + l_this->intellitype(cmd); + } + return TRUE; + } + + // check for registered hotkey messages and send them to HotKeyListeners + switch( uMessage ) { + case WM_HOTKEY: { + JIntellitypeHandler *l_this = (JIntellitypeHandler *) GetWindowLong( hWnd, GWL_USERDATA ); + l_this->fireHotKey(wParam); + return TRUE; + break; + } + default: + return DefWindowProc( hWnd, uMessage, wParam, lParam ); + } + +} + + + diff --git a/src/main/cpp/JIntellitypeHandler.h b/src/main/cpp/JIntellitypeHandler.h new file mode 100644 index 0000000..d003ff9 --- /dev/null +++ b/src/main/cpp/JIntellitypeHandler.h @@ -0,0 +1,93 @@ +/* + JIntellitype (http://www.melloware.com/) + Java JNI API for Windows Intellitype commands and global keystrokes. + + Copyright (C) 1999, 2008 Emil A. Lefkof III, info@melloware.com + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + Compiled with Mingw port of GCC, + Bloodshed Dev-C++ IDE (http://www.bloodshed.net/devcpp.html) +*/ +#ifndef __JIntellitypeHandler_h__ +#define __JIntellitypeHandler_h__ + +#include "JIntellitypeThread.h" + +class JIntellitypeHandler +{ + friend DWORD WINAPI JIntellitypeThread::ThreadProc( LPVOID lpParameter ); + +public: + + static JIntellitypeHandler *extract( JNIEnv *env, jobject object ); + + JIntellitypeHandler( JNIEnv *env, jobject object ); + + void initialize( JNIEnv *env, HINSTANCE instance ); + void regHotKey( jint identifier, jint modifier, jint keycode ); + void unregHotKey( jint identifier ); + void intellitype( jint commandId ); + void terminate(); + +private: + + enum + { + INITIALIZE_CODE = 1, + REGISTER_HOTKEY_CODE = 2, + UNREGISTER_HOTKEY_CODE = 3, + TERMINATE_CODE = 4, + INTELLITYPE_CODE = 5 + }; + + ~JIntellitypeHandler(); + + void createHiddenWindow(); + void doInitialize(); + void doRegHotKey(LPARAM callback); + void doUnregisterHotKey(LPARAM callback); + void doIntellitype(LPARAM callback); + void fireHotKey(jint hotkeyId); + void fireIntellitype(jint commandId); + + HINSTANCE m_instance; + HWND m_window; + jobject m_object; + jmethodID m_fireHotKey; + jmethodID m_fireIntellitype; + + static LRESULT CALLBACK WndProc( HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam ); + static DWORD WINAPI ThreadProc( LPVOID lpParameter ); +}; + +typedef struct { + JIntellitypeHandler *handler; + jint identifier; + jint modifier; + jint keycode; + jint command; +} JIntellitypeHandlerCallback; + + +#ifndef WM_APPCOMMAND +#define WM_APPCOMMAND 0x319 +#define FAPPCOMMAND_MASK 0x8000 +#define GET_APPCOMMAND_LPARAM(lParam) ((short)(HIWORD(lParam) & ~FAPPCOMMAND_MASK)) +#define HSHELL_APPCOMMAND 12 + +#endif + + +#endif diff --git a/src/main/cpp/JIntellitypeThread.cpp b/src/main/cpp/JIntellitypeThread.cpp new file mode 100644 index 0000000..dc55048 --- /dev/null +++ b/src/main/cpp/JIntellitypeThread.cpp @@ -0,0 +1,133 @@ +/* + JIntellitype (http://www.melloware.com/) + Java JNI API for Windows Intellitype commands and global keystrokes. + + Copyright (C) 1999, 2008 Emil A. Lefkof III, info@melloware.com + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + Compiled with Mingw port of GCC, + Bloodshed Dev-C++ IDE (http://www.bloodshed.net/devcpp.html) +*/ +#include "stdafx.h" +#include "JIntellitypeThread.h" +#include "JIntellitypeHandler.h" + +JIntellitypeThread g_JIntellitypeThread; + + +JIntellitypeThread::JIntellitypeThread() +{ + m_env = NULL; + m_thread = 0; + m_vm = NULL; + m_handlerCount = 0; +} + + +void JIntellitypeThread::MakeSureThreadIsUp( JNIEnv *env ) +{ + if( !m_thread ) + { + // Get VM + env->GetJavaVM( &m_vm ); + + // Start "native" thread + CreateThread + ( + NULL, + 0, + ThreadProc, + this, + 0, + &m_thread + ); + } +} + + +JIntellitypeThread::operator DWORD () +{ + return m_thread; +} + + +DWORD WINAPI JIntellitypeThread::ThreadProc( LPVOID lpParameter ) +{ + JIntellitypeThread *l_this = (JIntellitypeThread *) lpParameter; + + // Attach the thread to the VM + l_this->m_vm->AttachCurrentThread( (void**) &l_this->m_env, NULL ); + + MSG msg; + while( GetMessage( &msg, NULL, 0, 0 ) ) + { + if( msg.message == WM_JINTELLITYPE ) + { + // Extract handler + JIntellitypeHandler *l_handler; + + switch( msg.wParam ) + { + case JIntellitypeHandler::INITIALIZE_CODE: + l_handler = (JIntellitypeHandler*) msg.lParam; + l_this->m_handlerCount++; + l_handler->doInitialize(); + break; + case JIntellitypeHandler::REGISTER_HOTKEY_CODE: + l_handler = ((JIntellitypeHandlerCallback*) msg.lParam)->handler; + l_handler->doRegHotKey(msg.lParam); + break; + + case JIntellitypeHandler::UNREGISTER_HOTKEY_CODE: + l_handler = ((JIntellitypeHandlerCallback*) msg.lParam)->handler; + l_handler->doUnregisterHotKey(msg.lParam); + break; + case JIntellitypeHandler::INTELLITYPE_CODE: + l_handler = ((JIntellitypeHandlerCallback*) msg.lParam)->handler; + l_handler->doIntellitype(msg.lParam); + break; + + case JIntellitypeHandler::TERMINATE_CODE: + l_handler = (JIntellitypeHandler*) msg.lParam; + + // Destroy it! + delete l_handler; + + // No more handlers? + if( !--l_this->m_handlerCount ) + { + l_this->m_thread = 0; + + // Detach thread from VM + l_this->m_vm->DetachCurrentThread(); + + // Time to die + ExitThread( 0 ); + } + break; + } + } + else + { + TranslateMessage( &msg ); + DispatchMessage( &msg ); + } + } + + // Detach thread from VM + l_this->m_vm->DetachCurrentThread(); + + return 0; +} diff --git a/src/main/cpp/JIntellitypeThread.h b/src/main/cpp/JIntellitypeThread.h new file mode 100644 index 0000000..10b09f9 --- /dev/null +++ b/src/main/cpp/JIntellitypeThread.h @@ -0,0 +1,55 @@ +/* + JIntellitype (http://www.melloware.com/) + Java JNI API for Windows Intellitype commands and global keystrokes. + + Copyright (C) 1999, 2008 Emil A. Lefkof III, info@melloware.com + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + Compiled with Mingw port of GCC, + Bloodshed Dev-C++ IDE (http://www.bloodshed.net/devcpp.html) +*/ +#ifndef __JIntellitypeThread_h__ +#define __JIntellitypeThread_h__ + + +class JIntellitypeThread +{ +public: + + JIntellitypeThread(); + + void MakeSureThreadIsUp( JNIEnv *env ); + + JNIEnv *m_env; + static DWORD WINAPI ThreadProc( LPVOID lpParameter ); + + operator DWORD (); + +private: + + DWORD m_thread; + JavaVM *m_vm; + int m_handlerCount; + + +}; + +extern JIntellitypeThread g_JIntellitypeThread; + + +#define WM_JINTELLITYPE (WM_USER+1) + + +#endif diff --git a/src/main/cpp/JIntellitype_private.h b/src/main/cpp/JIntellitype_private.h new file mode 100644 index 0000000..1c7f45e --- /dev/null +++ b/src/main/cpp/JIntellitype_private.h @@ -0,0 +1,23 @@ +/* THIS FILE WILL BE OVERWRITTEN BY DEV-C++ */ +/* DO NOT EDIT ! */ + +#ifndef JINTELLITYPE_PRIVATE_H +#define JINTELLITYPE_PRIVATE_H + +/* VERSION DEFINITIONS */ +#define VER_STRING "1.0.0.465" +#define VER_MAJOR 1 +#define VER_MINOR 0 +#define VER_RELEASE 0 +#define VER_BUILD 465 +#define COMPANY_NAME "Melloware Inc (www.melloware.com)" +#define FILE_VERSION "1.0" +#define FILE_DESCRIPTION "Java JNI bridge to MS Intellitype commands" +#define INTERNAL_NAME "" +#define LEGAL_COPYRIGHT "Copyright 2006 Melloware Inc" +#define LEGAL_TRADEMARKS "Copyright 2006 Melloware Inc" +#define ORIGINAL_FILENAME "" +#define PRODUCT_NAME "JIntellitype" +#define PRODUCT_VERSION "1.0" + +#endif /*JINTELLITYPE_PRIVATE_H*/ diff --git a/src/main/cpp/JIntellitype_private.rc b/src/main/cpp/JIntellitype_private.rc new file mode 100644 index 0000000..77374f8 --- /dev/null +++ b/src/main/cpp/JIntellitype_private.rc @@ -0,0 +1,35 @@ +/* THIS FILE WILL BE OVERWRITTEN BY DEV-C++ */ +/* DO NOT EDIT! */ + +#include // include for version info constants + + +// +// TO CHANGE VERSION INFORMATION, EDIT PROJECT OPTIONS... +// +1 VERSIONINFO +FILEVERSION 1,0,0,465 +PRODUCTVERSION 1,0,0,465 +FILETYPE VFT_DLL +{ + BLOCK "StringFileInfo" + { + BLOCK "040904E4" + { + VALUE "CompanyName", "Melloware Inc (www.melloware.com)" + VALUE "FileVersion", "1.0" + VALUE "FileDescription", "Java JNI bridge to MS Intellitype commands" + VALUE "InternalName", "" + VALUE "LegalCopyright", "Copyright 2006 Melloware Inc" + VALUE "LegalTrademarks", "Copyright 2006 Melloware Inc" + VALUE "OriginalFilename", "" + VALUE "ProductName", "JIntellitype" + VALUE "ProductVersion", "1.0" + } + } + BLOCK "VarFileInfo" + { + VALUE "Translation", 0x0409, 1252 + } +} + diff --git a/src/main/cpp/Makefile.win b/src/main/cpp/Makefile.win new file mode 100644 index 0000000..0ad1b2c --- /dev/null +++ b/src/main/cpp/Makefile.win @@ -0,0 +1,46 @@ +# Project: JIntellitype +# Makefile created by Dev-C++ 4.9.9.2 + +CPP = g++.exe +CC = gcc.exe +WINDRES = windres.exe +RES = ../../../target/JIntellitype_private.res +OBJ = ../../../target/JIntellitypeThread.o ../../../target/JIntellitype.o ../../../target/JIntellitypeHandler.o ../../../target/StdAfx.o $(RES) +LINKOBJ = ../../../target/JIntellitypeThread.o ../../../target/JIntellitype.o ../../../target/JIntellitypeHandler.o ../../../target/StdAfx.o $(RES) +LIBS = -L"C:/Dev-Cpp/lib" -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 --no-export-all-symbols --add-stdcall-alias -s +INCS = -I"C:/Dev-Cpp/include" +CXXINCS = -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include" +BIN = ../../../../jintellitype/JIntellitype.dll +CXXFLAGS = $(CXXINCS) -D__GNUWIN32__ -W -DWIN32 -DNDEBUG -D_WINDOWS -D_MBCS -D_USRDLL -fexpensive-optimizations -O3 +CFLAGS = $(INCS) -D__GNUWIN32__ -W -DWIN32 -DNDEBUG -D_WINDOWS -D_MBCS -D_USRDLL -DBUILDING_DLL=1 -fexpensive-optimizations -O3 +RM = rm -f + +.PHONY: all all-before all-after clean clean-custom + +all: all-before ../../../../jintellitype/JIntellitype.dll all-after + + +clean: clean-custom + ${RM} $(OBJ) $(BIN) + +DLLWRAP=dllwrap.exe +DEFFILE=../../../../jintellitype/libJIntellitype.def +STATICLIB=../../../../jintellitype/libJIntellitype.a + +$(BIN): $(LINKOBJ) + $(DLLWRAP) --output-def $(DEFFILE) --driver-name c++ --implib $(STATICLIB) $(LINKOBJ) $(LIBS) -o $(BIN) + +../../../target/JIntellitypeThread.o: JIntellitypeThread.cpp + $(CPP) -c JIntellitypeThread.cpp -o ../../../target/JIntellitypeThread.o $(CXXFLAGS) + +../../../target/JIntellitype.o: JIntellitype.cpp + $(CPP) -c JIntellitype.cpp -o ../../../target/JIntellitype.o $(CXXFLAGS) + +../../../target/JIntellitypeHandler.o: JIntellitypeHandler.cpp + $(CPP) -c JIntellitypeHandler.cpp -o ../../../target/JIntellitypeHandler.o $(CXXFLAGS) + +../../../target/StdAfx.o: StdAfx.cpp + $(CPP) -c StdAfx.cpp -o ../../../target/StdAfx.o $(CXXFLAGS) + +../../../target/JIntellitype_private.res: JIntellitype_private.rc + $(WINDRES) -i JIntellitype_private.rc --input-format=rc -o ../../../target/JIntellitype_private.res -O coff diff --git a/src/main/cpp/StdAfx.cpp b/src/main/cpp/StdAfx.cpp new file mode 100644 index 0000000..a10ee7b --- /dev/null +++ b/src/main/cpp/StdAfx.cpp @@ -0,0 +1,8 @@ +// stdafx.cpp : source file that includes just the standard includes +// win32.pch will be the pre-compiled header +// stdafx.obj will contain the pre-compiled type information + +#include "stdafx.h" + +// TODO: reference any additional headers you need in STDAFX.H +// and not in this file diff --git a/src/main/cpp/StdAfx.h b/src/main/cpp/StdAfx.h new file mode 100644 index 0000000..7203ae8 --- /dev/null +++ b/src/main/cpp/StdAfx.h @@ -0,0 +1,24 @@ +// stdafx.h : include file for standard system include files, +// or project specific include files that are used frequently, but +// are changed infrequently +// + +#if !defined(AFX_STDAFX_H__1F571525_24C2_11D3_B0CF_0000E85D9A83__INCLUDED_) +#define AFX_STDAFX_H__1F571525_24C2_11D3_B0CF_0000E85D9A83__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 + +// Insert your headers here +#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers + +#include +#include + +#include + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_STDAFX_H__1F571525_24C2_11D3_B0CF_0000E85D9A83__INCLUDED_) diff --git a/src/main/cpp/com_melloware_jintellitype_JIntellitype.h b/src/main/cpp/com_melloware_jintellitype_JIntellitype.h new file mode 100644 index 0000000..2394ca6 --- /dev/null +++ b/src/main/cpp/com_melloware_jintellitype_JIntellitype.h @@ -0,0 +1,53 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ +#include +/* Header for class com_melloware_jintellitype_JIntellitype */ + +#ifndef _Included_com_melloware_jintellitype_JIntellitype +#define _Included_com_melloware_jintellitype_JIntellitype +#ifdef __cplusplus +extern "C" { +#endif +/* + * Class: com_melloware_jintellitype_JIntellitype + * Method: initializeLibrary + * Signature: ()V + */ +JNIEXPORT void JNICALL Java_com_melloware_jintellitype_JIntellitype_initializeLibrary + (JNIEnv *, jobject); + +/* + * Class: com_melloware_jintellitype_JIntellitype + * Method: regHotKey + * Signature: (III)V + */ +JNIEXPORT void JNICALL Java_com_melloware_jintellitype_JIntellitype_regHotKey + (JNIEnv *, jobject, jint, jint, jint); + +/* + * Class: com_melloware_jintellitype_JIntellitype + * Method: terminate + * Signature: ()V + */ +JNIEXPORT void JNICALL Java_com_melloware_jintellitype_JIntellitype_terminate + (JNIEnv *, jobject); + +/* + * Class: com_melloware_jintellitype_JIntellitype + * Method: unregHotKey + * Signature: (I)V + */ +JNIEXPORT void JNICALL Java_com_melloware_jintellitype_JIntellitype_unregHotKey + (JNIEnv *, jobject, jint); + +/* + * Class: com_melloware_jintellitype_JIntellitype + * Method: isRunning + * Signature: (Ljava/lang/String;)Z + */ +JNIEXPORT jboolean JNICALL Java_com_melloware_jintellitype_JIntellitype_isRunning + (JNIEnv *, jclass, jstring); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/src/main/java/com/melloware/jintellitype/HotkeyListener.java b/src/main/java/com/melloware/jintellitype/HotkeyListener.java new file mode 100644 index 0000000..c7bef85 --- /dev/null +++ b/src/main/java/com/melloware/jintellitype/HotkeyListener.java @@ -0,0 +1,46 @@ +/** + * JIntellitype + * ----------------- + * Copyright 2005-2008 Emil A. Lefkof III, Melloware Inc. + * + * I always give it my best shot to make a program useful and solid, but + * remeber that there is absolutely no warranty for using this program as + * stated in the following terms: + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.melloware.jintellitype; + + +/** + * Listener interface for Windows Hotkey events registered using the + * Windows API call RegisterHotKey to globally listen for a key combination + * regardless if your application has focus or not. + *

+ * Copyright (c) 1999-2008 + * Melloware, Inc. + * @author Emil A. Lefkof III + * @version 1.3.1 + * + * @see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput/keyboardinputreference/keyboardinputfunctions/registerhotkey.asp + */ +public interface HotkeyListener +{ + /** + * Event fired when a WM_HOTKEY message is received that was initiated + * by this application. + *

+ * @param identifier the unique Identifer the Hotkey was assigned + */ + void onHotKey( int identifier ); +} \ No newline at end of file diff --git a/src/main/java/com/melloware/jintellitype/IntellitypeListener.java b/src/main/java/com/melloware/jintellitype/IntellitypeListener.java new file mode 100644 index 0000000..4fa5ede --- /dev/null +++ b/src/main/java/com/melloware/jintellitype/IntellitypeListener.java @@ -0,0 +1,51 @@ +/** + * JIntellitype + * ----------------- + * Copyright 2005-2008 Emil A. Lefkof III, Melloware Inc. + * + * I always give it my best shot to make a program useful and solid, but + * remeber that there is absolutely no warranty for using this program as + * stated in the following terms: + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.melloware.jintellitype; + + +/** + * Listener interface for Windows Intellitype events. Intellitype are Windows + * App Commands that are specialand were introduced with Microsoft Keyboards + * that had special keys for Play, Pause, Stop, Next etc for controlling + * Media applications like Windows Media Player, Itunes, and Winamp. + *

+ * If you have ever wanted your Swing/SWT application to respond to these global + * events you now can with JIntellitype. Just implement this interface and + * you can now take action when those special Media keys are pressed. + *

+ * Copyright (c) 1999-2008 + * Melloware, Inc. + * @author Emil A. Lefkof III + * @version 1.3.1 + * + * @see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput/keyboardinputreference/keyboardinputmessages/wm_appcommand.asp + */ +public interface IntellitypeListener +{ + /** + * Event fired when a WM_APPCOMMAND message is received that was initiated + * by this application. + *

+ * @param command the WM_APPCOMMAND that was pressed + */ + void onIntellitype( int command ); +} \ No newline at end of file diff --git a/src/main/java/com/melloware/jintellitype/JIntellitype.java b/src/main/java/com/melloware/jintellitype/JIntellitype.java new file mode 100644 index 0000000..9b348a6 --- /dev/null +++ b/src/main/java/com/melloware/jintellitype/JIntellitype.java @@ -0,0 +1,663 @@ +/** + * JIntellitype ----------------- Copyright 2005-2008 Emil A. Lefkof III, + * Melloware Inc. I always give it my best shot to make a program useful and + * solid, but remeber that there is absolutely no warranty for using this + * program as stated in the following terms: Licensed under the Apache License, + * Version 2.0 (the "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law + * or agreed to in writing, software distributed under the License is + * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package com.melloware.jintellitype; + +import java.awt.event.InputEvent; +import java.awt.event.KeyEvent; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; + +import javax.swing.SwingUtilities; + +/** + * JIntellitype A Java Implementation for using the Windows API Intellitype + * commands and the RegisterHotKey and UnRegisterHotkey API calls for globally + * responding to key events. Intellitype are commands that are using for Play, + * Stop, Next on Media keyboards or some laptops that have those special keys. + *

+ * JIntellitype class that is used to call Windows API calls using the + * JIntellitype.dll. + *

+ * This file comes with native code in JINTELLITYPE.DLL The DLL should go in + * C:/WINDOWS/SYSTEM or in your current directory + *

+ *

+ * Copyright (c) 1999-2008 Melloware, Inc. + * @author Emil A. Lefkof III + * @version 1.3.1 + */ +public final class JIntellitype implements JIntellitypeConstants { + + /** + * Static variable to hold singleton. + */ + private static JIntellitype jintellitype = null; + + /** + * Static variable for double checked thread safety. + */ + private static boolean isInitialized = false; + + /** + * Static variable to hold the libary location if set + */ + private static String libraryLocation = null; + + /** + * Listeners collection for Hotkey events + */ + private final List hotkeyListeners = Collections + .synchronizedList(new CopyOnWriteArrayList()); + + /** + * Listeners collection for Hotkey events + */ + private final List intellitypeListeners = Collections + .synchronizedList(new CopyOnWriteArrayList()); + + /** + * Handler is used by JNI code to keep different JVM instances separate + */ + @SuppressWarnings("unused") + private final int handler = 0; + + /** + * Map containing key->keycode mapping + * @see #registerHotKey(int, String) + * @see #getKey2KeycodeMapping() + */ + private final HashMap keycodeMap; + + /** + * Private Constructor to prevent instantiation. Initialize the library for + * calling. + */ + private JIntellitype() { + // Load JNI library + try { + if (getLibraryLocation() != null) { + System.load(getLibraryLocation()); + } else { + String jarPath = "com/melloware/jintellitype/"; + String tmpDir = System.getProperty("java.io.tmpdir"); + try { + String dll = "JIntellitype.dll"; + fromJarToFs(jarPath + dll, tmpDir + dll); + System.load(tmpDir + dll); + } catch (UnsatisfiedLinkError e) { + String dll = "JIntellitype64.dll"; + fromJarToFs(jarPath + dll, tmpDir + dll); + System.load(tmpDir + dll); + } + } + initializeLibrary(); + } catch (IOException ex) { + throw new JIntellitypeException(ex); + } catch (UnsatisfiedLinkError ex) { + throw new JIntellitypeException(ex); + } catch (RuntimeException ex) { + throw new JIntellitypeException(ex); + } + this.keycodeMap = getKey2KeycodeMapping(); + } + + /** + * Pulls a file out of the JAR and puts it on the File Path. + *

+ * @param jarPath the path to the JAR + * @param filePath the file path to extract to + * @throws IOException if any IO error occurs + */ + private void fromJarToFs(String jarPath, String filePath) throws IOException { + File file = new File(filePath); + if (file.exists()) { + boolean success = file.delete(); + if (!success) { + throw new IOException("couldn't delete " + filePath); + } + } + InputStream is = null; + OutputStream os = null; + try { + is = ClassLoader.getSystemClassLoader().getResourceAsStream(jarPath); + os = new FileOutputStream(filePath); + byte[] buffer = new byte[8192]; + int bytesRead; + while ((bytesRead = is.read(buffer)) != -1) { + os.write(buffer, 0, bytesRead); + } + } finally { + if (is != null) { + is.close(); + } + if (os != null) { + os.close(); + } + } + } + + /** + * Gets the singleton instance of the JIntellitype object. + *

+ * But the possibility of creation of more instance is only before the + * instance is created. Since all code defined inside getInstance method is + * in the synchronized block, even the subsequent requests will also come and + * wait in the synchronized block. This is a performance issue. The same can + * be solved using double-checked lock. Following is the implementation of + * Singleton with lazy initialization and double-checked lock. + *

+ * @return an instance of JIntellitype class + */ + public static JIntellitype getInstance() { + if (!isInitialized) { + synchronized (JIntellitype.class) { + if (!isInitialized) { + jintellitype = new JIntellitype(); + isInitialized = true; + } + } + } + return jintellitype; + } + + /** + * Adds a listener for hotkeys. + *

+ * @param listener the HotKeyListener to be added + */ + public void addHotKeyListener(HotkeyListener listener) { + hotkeyListeners.add(listener); + } + + /** + * Adds a listener for intellitype commands. + *

+ * @param listener the IntellitypeListener to be added + */ + public void addIntellitypeListener(IntellitypeListener listener) { + intellitypeListeners.add(listener); + } + + /** + * Cleans up all resources used by JIntellitype. + */ + public void cleanUp() { + try { + terminate(); + } catch (UnsatisfiedLinkError ex) { + throw new JIntellitypeException(ERROR_MESSAGE, ex); + } catch (RuntimeException ex) { + throw new JIntellitypeException(ex); + } + } + + /** + * Registers a Hotkey with windows. This combination will be responded to by + * all registered HotKeyListeners. Uses the JIntellitypeConstants for MOD, + * ALT, CTRL, and WINDOWS keys. + *

+ * @param identifier a unique identifier for this key combination + * @param modifier MOD_SHIFT, MOD_ALT, MOD_CONTROL, MOD_WIN from + * JIntellitypeConstants, or 0 if no modifier needed + * @param keycode the key to respond to in Ascii integer, 65 for A + */ + public void registerHotKey(int identifier, int modifier, int keycode) { + try { + int modifiers = swingToIntelliType(modifier); + if (modifiers == 0) { + modifiers = modifier; + } + regHotKey(identifier, modifier, keycode); + } catch (UnsatisfiedLinkError ex) { + throw new JIntellitypeException(ERROR_MESSAGE, ex); + } catch (RuntimeException ex) { + throw new JIntellitypeException(ex); + } + } + + /** + * Registers a Hotkey with windows. This combination will be responded to by + * all registered HotKeyListeners. Use the Swing InputEvent constants from + * java.awt.InputEvent. + *

+ * @param identifier a unique identifier for this key combination + * @param modifier InputEvent.SHIFT_MASK, InputEvent.ALT_MASK, + * InputEvent.CTRL_MASK, or 0 if no modifier needed + * @param keycode the key to respond to in Ascii integer, 65 for A + */ + public void registerSwingHotKey(int identifier, int modifier, int keycode) { + try { + regHotKey(identifier, swingToIntelliType(modifier), keycode); + } catch (UnsatisfiedLinkError ex) { + throw new JIntellitypeException(ERROR_MESSAGE, ex); + } catch (RuntimeException ex) { + throw new JIntellitypeException(ex); + } + } + + /** + * Registers a Hotkey with windows. This combination will be responded to by + * all registered HotKeyListeners. Use the identifiers CTRL, SHIFT, ALT + * and/or WIN. + *

+ * @param identifier a unique identifier for this key combination + * @param modifierAndKeyCode String with modifiers separated by + and keycode + * (e.g. CTRL+SHIFT+A) + * @see #registerHotKey(int, int, int) + * @see #registerSwingHotKey(int, int, int) + */ + public void registerHotKey(int identifier, String modifierAndKeyCode) { + String[] split = modifierAndKeyCode.split("\\+"); + int mask = 0; + int keycode = 0; + + for (int i = 0; i < split.length; i++) { + if ("ALT".equalsIgnoreCase(split[i])) { + mask += JIntellitype.MOD_ALT; + } else if ("CTRL".equalsIgnoreCase(split[i]) || "CONTROL".equalsIgnoreCase(split[i])) { + mask += JIntellitype.MOD_CONTROL; + } else if ("SHIFT".equalsIgnoreCase(split[i])) { + mask += JIntellitype.MOD_SHIFT; + } else if ("WIN".equalsIgnoreCase(split[i])) { + mask += JIntellitype.MOD_WIN; + } else if (keycodeMap.containsKey(split[i].toLowerCase())) { + keycode = keycodeMap.get(split[i].toLowerCase()); + } + } + registerHotKey(identifier, mask, keycode); + } + + /** + * Removes a listener for hotkeys. + */ + public void removeHotKeyListener(HotkeyListener listener) { + hotkeyListeners.remove(listener); + } + + /** + * Removes a listener for intellitype commands. + */ + public void removeIntellitypeListener(IntellitypeListener listener) { + intellitypeListeners.remove(listener); + } + + /** + * Unregisters a previously registered Hotkey identified by its unique + * identifier. + *

+ * @param identifier the unique identifer of this Hotkey + */ + public void unregisterHotKey(int identifier) { + try { + unregHotKey(identifier); + } catch (UnsatisfiedLinkError ex) { + throw new JIntellitypeException(ERROR_MESSAGE, ex); + } catch (RuntimeException ex) { + throw new JIntellitypeException(ex); + } + } + + /** + * Checks to see if this application is already running. + *

+ * @param appTitle the name of the application to check for + * @return true if running, false if not running + */ + public static boolean checkInstanceAlreadyRunning(String appTitle) { + return getInstance().isRunning(appTitle); + } + + /** + * Checks to make sure the OS is a Windows flavor and that the JIntellitype + * DLL is found in the path and the JDK is 32 bit not 64 bit. The DLL + * currently only supports 32 bit JDK. + *

+ * @return true if Jintellitype may be used, false if not + */ + public static boolean isJIntellitypeSupported() { + boolean result = false; + String os = "none"; + + try { + os = System.getProperty("os.name").toLowerCase(); + } catch (SecurityException ex) { + // we are not allowed to look at this property + System.err.println("Caught a SecurityException reading the system property " + + "'os.name'; the SystemUtils property value will default to null."); + } + + // only works on Windows OS currently + if (os.startsWith("windows")) { + // try an get the instance and if it succeeds then return true + try { + getInstance(); + result = true; + } catch (Exception e) { + result = false; + } + } + + return result; + } + + /** + * Gets the libraryLocation. + *

+ * @return Returns the libraryLocation. + */ + public static String getLibraryLocation() { + return libraryLocation; + } + + /** + * Sets the libraryLocation. + *

+ * @param libraryLocation The libraryLocation to set. + */ + public static void setLibraryLocation(String libraryLocation) { + final File dll = new File(libraryLocation); + if (!dll.isAbsolute()) { + JIntellitype.libraryLocation = dll.getAbsolutePath(); + } else { + // absolute path, no further calculation needed + JIntellitype.libraryLocation = libraryLocation; + } + } + + /** + * Notifies all listeners that Hotkey was pressed. + *

+ * @param identifier the unique identifier received + */ + protected void onHotKey(final int identifier) { + for (final HotkeyListener hotkeyListener : hotkeyListeners) { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + hotkeyListener.onHotKey(identifier); + } + }); + } + } + + /** + * Notifies all listeners that Intellitype command was received. + *

+ * @param command the unique WM_APPCOMMAND received + */ + protected void onIntellitype(final int command) { + for (final IntellitypeListener intellitypeListener : intellitypeListeners) { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + intellitypeListener.onIntellitype(command); + } + }); + } + } + + /** + * Swing modifier value to Jintellipad conversion. If no conversion needed + * just return the original value. This lets users pass either the original + * JIntellitype constants or Swing InputEvent constants. + *

+ * @param swingKeystrokeModifier the Swing KeystrokeModifier to check + * @return Jintellitype the JIntellitype modifier value + */ + protected static int swingToIntelliType(int swingKeystrokeModifier) { + int mask = 0; + if ((swingKeystrokeModifier & InputEvent.SHIFT_MASK) == InputEvent.SHIFT_MASK) { + mask += JIntellitype.MOD_SHIFT; + } + if ((swingKeystrokeModifier & InputEvent.ALT_MASK) == InputEvent.ALT_MASK) { + mask += JIntellitype.MOD_ALT; + } + if ((swingKeystrokeModifier & InputEvent.CTRL_MASK) == InputEvent.CTRL_MASK) { + mask += JIntellitype.MOD_CONTROL; + } + if ((swingKeystrokeModifier & InputEvent.SHIFT_DOWN_MASK) == InputEvent.SHIFT_DOWN_MASK) { + mask += JIntellitype.MOD_SHIFT; + } + if ((swingKeystrokeModifier & InputEvent.ALT_DOWN_MASK) == InputEvent.ALT_DOWN_MASK) { + mask += JIntellitype.MOD_ALT; + } + if ((swingKeystrokeModifier & InputEvent.CTRL_DOWN_MASK) == InputEvent.CTRL_DOWN_MASK) { + mask += JIntellitype.MOD_CONTROL; + } + return mask; + } + + /** + * Puts all constants from {@link java.awt.event.KeyEvent} in a keycodeMap. + * The key is the lower case form of it. + * @return Map containing key->keycode mapping DOCU Now enables the user to + * use all keys specified here instead of just [A-Z],[0-9] as before + */ + private HashMap getKey2KeycodeMapping() { + HashMap map = new HashMap(); + + map.put("first", KeyEvent.KEY_FIRST); + map.put("last", KeyEvent.KEY_LAST); + map.put("typed", KeyEvent.KEY_TYPED); + map.put("pressed", KeyEvent.KEY_PRESSED); + map.put("released", KeyEvent.KEY_RELEASED); + map.put("enter", KeyEvent.VK_ENTER); + map.put("back_space", KeyEvent.VK_BACK_SPACE); + map.put("tab", KeyEvent.VK_TAB); + map.put("cancel", KeyEvent.VK_CANCEL); + map.put("clear", KeyEvent.VK_CLEAR); + map.put("pause", KeyEvent.VK_PAUSE); + map.put("caps_lock", KeyEvent.VK_CAPS_LOCK); + map.put("escape", KeyEvent.VK_ESCAPE); + map.put("space", KeyEvent.VK_SPACE); + map.put("page_up", KeyEvent.VK_PAGE_UP); + map.put("page_down", KeyEvent.VK_PAGE_DOWN); + map.put("end", KeyEvent.VK_END); + map.put("home", KeyEvent.VK_HOME); + map.put("left", KeyEvent.VK_LEFT); + map.put("up", KeyEvent.VK_UP); + map.put("right", KeyEvent.VK_RIGHT); + map.put("down", KeyEvent.VK_DOWN); + map.put("comma", KeyEvent.VK_COMMA); + map.put("minus", KeyEvent.VK_MINUS); + map.put("period", KeyEvent.VK_PERIOD); + map.put("slash", KeyEvent.VK_SLASH); + map.put("0", KeyEvent.VK_0); + map.put("1", KeyEvent.VK_1); + map.put("2", KeyEvent.VK_2); + map.put("3", KeyEvent.VK_3); + map.put("4", KeyEvent.VK_4); + map.put("5", KeyEvent.VK_5); + map.put("6", KeyEvent.VK_6); + map.put("7", KeyEvent.VK_7); + map.put("8", KeyEvent.VK_8); + map.put("9", KeyEvent.VK_9); + map.put("semicolon", KeyEvent.VK_SEMICOLON); + map.put("equals", KeyEvent.VK_EQUALS); + map.put("a", KeyEvent.VK_A); + map.put("b", KeyEvent.VK_B); + map.put("c", KeyEvent.VK_C); + map.put("d", KeyEvent.VK_D); + map.put("e", KeyEvent.VK_E); + map.put("f", KeyEvent.VK_F); + map.put("g", KeyEvent.VK_G); + map.put("h", KeyEvent.VK_H); + map.put("i", KeyEvent.VK_I); + map.put("j", KeyEvent.VK_J); + map.put("k", KeyEvent.VK_K); + map.put("l", KeyEvent.VK_L); + map.put("m", KeyEvent.VK_M); + map.put("n", KeyEvent.VK_N); + map.put("o", KeyEvent.VK_O); + map.put("p", KeyEvent.VK_P); + map.put("q", KeyEvent.VK_Q); + map.put("r", KeyEvent.VK_R); + map.put("s", KeyEvent.VK_S); + map.put("t", KeyEvent.VK_T); + map.put("u", KeyEvent.VK_U); + map.put("v", KeyEvent.VK_V); + map.put("w", KeyEvent.VK_W); + map.put("x", KeyEvent.VK_X); + map.put("y", KeyEvent.VK_Y); + map.put("z", KeyEvent.VK_Z); + map.put("open_bracket", KeyEvent.VK_OPEN_BRACKET); + map.put("back_slash", KeyEvent.VK_BACK_SLASH); + map.put("close_bracket", KeyEvent.VK_CLOSE_BRACKET); + map.put("numpad0", KeyEvent.VK_NUMPAD0); + map.put("numpad1", KeyEvent.VK_NUMPAD1); + map.put("numpad2", KeyEvent.VK_NUMPAD2); + map.put("numpad3", KeyEvent.VK_NUMPAD3); + map.put("numpad4", KeyEvent.VK_NUMPAD4); + map.put("numpad5", KeyEvent.VK_NUMPAD5); + map.put("numpad6", KeyEvent.VK_NUMPAD6); + map.put("numpad7", KeyEvent.VK_NUMPAD7); + map.put("numpad8", KeyEvent.VK_NUMPAD8); + map.put("numpad9", KeyEvent.VK_NUMPAD9); + map.put("multiply", KeyEvent.VK_MULTIPLY); + map.put("add", KeyEvent.VK_ADD); + map.put("separator", KeyEvent.VK_SEPARATOR); + map.put("subtract", KeyEvent.VK_SUBTRACT); + map.put("decimal", KeyEvent.VK_DECIMAL); + map.put("divide", KeyEvent.VK_DIVIDE); + map.put("delete", KeyEvent.VK_DELETE); + map.put("num_lock", KeyEvent.VK_NUM_LOCK); + map.put("scroll_lock", KeyEvent.VK_SCROLL_LOCK); + map.put("f1", KeyEvent.VK_F1); + map.put("f2", KeyEvent.VK_F2); + map.put("f3", KeyEvent.VK_F3); + map.put("f4", KeyEvent.VK_F4); + map.put("f5", KeyEvent.VK_F5); + map.put("f6", KeyEvent.VK_F6); + map.put("f7", KeyEvent.VK_F7); + map.put("f8", KeyEvent.VK_F8); + map.put("f9", KeyEvent.VK_F9); + map.put("f10", KeyEvent.VK_F10); + map.put("f11", KeyEvent.VK_F11); + map.put("f12", KeyEvent.VK_F12); + map.put("f13", KeyEvent.VK_F13); + map.put("f14", KeyEvent.VK_F14); + map.put("f15", KeyEvent.VK_F15); + map.put("f16", KeyEvent.VK_F16); + map.put("f17", KeyEvent.VK_F17); + map.put("f18", KeyEvent.VK_F18); + map.put("f19", KeyEvent.VK_F19); + map.put("f20", KeyEvent.VK_F20); + map.put("f21", KeyEvent.VK_F21); + map.put("f22", KeyEvent.VK_F22); + map.put("f23", KeyEvent.VK_F23); + map.put("f24", KeyEvent.VK_F24); + map.put("printscreen", KeyEvent.VK_PRINTSCREEN); + map.put("insert", KeyEvent.VK_INSERT); + map.put("help", KeyEvent.VK_HELP); + map.put("meta", KeyEvent.VK_META); + map.put("back_quote", KeyEvent.VK_BACK_QUOTE); + map.put("quote", KeyEvent.VK_QUOTE); + map.put("kp_up", KeyEvent.VK_KP_UP); + map.put("kp_down", KeyEvent.VK_KP_DOWN); + map.put("kp_left", KeyEvent.VK_KP_LEFT); + map.put("kp_right", KeyEvent.VK_KP_RIGHT); + map.put("dead_grave", KeyEvent.VK_DEAD_GRAVE); + map.put("dead_acute", KeyEvent.VK_DEAD_ACUTE); + map.put("dead_circumflex", KeyEvent.VK_DEAD_CIRCUMFLEX); + map.put("dead_tilde", KeyEvent.VK_DEAD_TILDE); + map.put("dead_macron", KeyEvent.VK_DEAD_MACRON); + map.put("dead_breve", KeyEvent.VK_DEAD_BREVE); + map.put("dead_abovedot", KeyEvent.VK_DEAD_ABOVEDOT); + map.put("dead_diaeresis", KeyEvent.VK_DEAD_DIAERESIS); + map.put("dead_abovering", KeyEvent.VK_DEAD_ABOVERING); + map.put("dead_doubleacute", KeyEvent.VK_DEAD_DOUBLEACUTE); + map.put("dead_caron", KeyEvent.VK_DEAD_CARON); + map.put("dead_cedilla", KeyEvent.VK_DEAD_CEDILLA); + map.put("dead_ogonek", KeyEvent.VK_DEAD_OGONEK); + map.put("dead_iota", KeyEvent.VK_DEAD_IOTA); + map.put("dead_voiced_sound", KeyEvent.VK_DEAD_VOICED_SOUND); + map.put("dead_semivoiced_sound", KeyEvent.VK_DEAD_SEMIVOICED_SOUND); + map.put("ampersand", KeyEvent.VK_AMPERSAND); + map.put("asterisk", KeyEvent.VK_ASTERISK); + map.put("quotedbl", KeyEvent.VK_QUOTEDBL); + map.put("less", KeyEvent.VK_LESS); + map.put("greater", KeyEvent.VK_GREATER); + map.put("braceleft", KeyEvent.VK_BRACELEFT); + map.put("braceright", KeyEvent.VK_BRACERIGHT); + map.put("at", KeyEvent.VK_AT); + map.put("colon", KeyEvent.VK_COLON); + map.put("circumflex", KeyEvent.VK_CIRCUMFLEX); + map.put("dollar", KeyEvent.VK_DOLLAR); + map.put("euro_sign", KeyEvent.VK_EURO_SIGN); + map.put("exclamation_mark", KeyEvent.VK_EXCLAMATION_MARK); + map.put("inverted_exclamation_mark", KeyEvent.VK_INVERTED_EXCLAMATION_MARK); + map.put("left_parenthesis", KeyEvent.VK_LEFT_PARENTHESIS); + map.put("number_sign", KeyEvent.VK_NUMBER_SIGN); + map.put("plus", KeyEvent.VK_PLUS); + map.put("right_parenthesis", KeyEvent.VK_RIGHT_PARENTHESIS); + map.put("underscore", KeyEvent.VK_UNDERSCORE); + map.put("context_menu", KeyEvent.VK_CONTEXT_MENU); + map.put("final", KeyEvent.VK_FINAL); + map.put("convert", KeyEvent.VK_CONVERT); + map.put("nonconvert", KeyEvent.VK_NONCONVERT); + map.put("accept", KeyEvent.VK_ACCEPT); + map.put("modechange", KeyEvent.VK_MODECHANGE); + map.put("kana", KeyEvent.VK_KANA); + map.put("kanji", KeyEvent.VK_KANJI); + map.put("alphanumeric", KeyEvent.VK_ALPHANUMERIC); + map.put("katakana", KeyEvent.VK_KATAKANA); + map.put("hiragana", KeyEvent.VK_HIRAGANA); + map.put("full_width", KeyEvent.VK_FULL_WIDTH); + map.put("half_width", KeyEvent.VK_HALF_WIDTH); + map.put("roman_characters", KeyEvent.VK_ROMAN_CHARACTERS); + map.put("all_candidates", KeyEvent.VK_ALL_CANDIDATES); + map.put("previous_candidate", KeyEvent.VK_PREVIOUS_CANDIDATE); + map.put("code_input", KeyEvent.VK_CODE_INPUT); + map.put("japanese_katakana", KeyEvent.VK_JAPANESE_KATAKANA); + map.put("japanese_hiragana", KeyEvent.VK_JAPANESE_HIRAGANA); + map.put("japanese_roman", KeyEvent.VK_JAPANESE_ROMAN); + map.put("kana_lock", KeyEvent.VK_KANA_LOCK); + map.put("input_method_on_off", KeyEvent.VK_INPUT_METHOD_ON_OFF); + map.put("cut", KeyEvent.VK_CUT); + map.put("copy", KeyEvent.VK_COPY); + map.put("paste", KeyEvent.VK_PASTE); + map.put("undo", KeyEvent.VK_UNDO); + map.put("again", KeyEvent.VK_AGAIN); + map.put("find", KeyEvent.VK_FIND); + map.put("props", KeyEvent.VK_PROPS); + map.put("stop", KeyEvent.VK_STOP); + map.put("compose", KeyEvent.VK_COMPOSE); + map.put("alt_graph", KeyEvent.VK_ALT_GRAPH); + map.put("begin", KeyEvent.VK_BEGIN); + + return map; + } + + private synchronized native void initializeLibrary() throws UnsatisfiedLinkError; + + private synchronized native void regHotKey(int identifier, int modifier, int keycode) throws UnsatisfiedLinkError; + + private synchronized native void terminate() throws UnsatisfiedLinkError; + + private synchronized native void unregHotKey(int identifier) throws UnsatisfiedLinkError; + + /** + * Checks if there's an instance with hidden window title = appName running + * Can be used to detect that another instance of your app is already running + * (so exit..) + *

+ * @param appName = the title of the hidden window to search for + */ + private synchronized native boolean isRunning(String appName); +} \ No newline at end of file diff --git a/src/main/java/com/melloware/jintellitype/JIntellitypeConstants.java b/src/main/java/com/melloware/jintellitype/JIntellitypeConstants.java new file mode 100644 index 0000000..d2bb3f6 --- /dev/null +++ b/src/main/java/com/melloware/jintellitype/JIntellitypeConstants.java @@ -0,0 +1,182 @@ +/** + * JIntellitype + * ----------------- + * Copyright 2005-2008 Emil A. Lefkof III, Melloware Inc. + * + * I always give it my best shot to make a program useful and solid, but + * remeber that there is absolutely no warranty for using this program as + * stated in the following terms: + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.melloware.jintellitype; + +/** + * Constants from the Windows API used in JIntellitype. + *

+ * Message information can be found on MSDN here: + * http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput/keyboardinputreference/keyboardinputmessages/wm_appcommand.asp + *

+ * Copyright (c) 1999-2008 + * Melloware, Inc. + * @author Emil A. Lefkof III + * @version 1.3.1 + */ +public interface JIntellitypeConstants { + + public static final String ERROR_MESSAGE = "JIntellitype DLL Error"; + + // Modifier keys, can be added together + + /** + * ALT key for registering Hotkeys. + */ + public static final int MOD_ALT = 1; + + /** + * CONTROL key for registering Hotkeys. + */ + public static final int MOD_CONTROL = 2; + + /** + * SHIFT key for registering Hotkeys. + */ + public static final int MOD_SHIFT = 4; + + /** + * WINDOWS key for registering Hotkeys. + */ + public static final int MOD_WIN = 8; + + + // Intellitype Virtual Key Constants from MSDN + + /** + * Browser Navigate backward + */ + public static final int APPCOMMAND_BROWSER_BACKWARD = 1; + + /** + * Browser Navigate forward + */ + public static final int APPCOMMAND_BROWSER_FORWARD = 2; + + /** + * Browser Refresh page + */ + public static final int APPCOMMAND_BROWSER_REFRESH = 3; + + /** + * Browser Stop download + */ + public static final int APPCOMMAND_BROWSER_STOP = 4; + + /** + * Browser Open search + */ + public static final int APPCOMMAND_BROWSER_SEARCH = 5; + + /** + * Browser Open favorites + */ + public static final int APPCOMMAND_BROWSER_FAVOURITES = 6; + + /** + * Browser Navigate home + */ + public static final int APPCOMMAND_BROWSER_HOME = 7; + + /** + * Mute the volume + */ + public static final int APPCOMMAND_VOLUME_MUTE = 8; + + /** + * Lower the volume + */ + public static final int APPCOMMAND_VOLUME_DOWN = 9; + + /** + * Raise the volume + */ + public static final int APPCOMMAND_VOLUME_UP = 10; + + /** + * Media application go to next track. + */ + public static final int APPCOMMAND_MEDIA_NEXTTRACK = 11; + + /** + * Media application Go to previous track. + */ + public static final int APPCOMMAND_MEDIA_PREVIOUSTRACK = 12; + + /** + * Media application Stop playback. + */ + public static final int APPCOMMAND_MEDIA_STOP = 13; + + /** + * Media application Play or pause playback. + */ + public static final int APPCOMMAND_MEDIA_PLAY_PAUSE = 14; + + /** + * Open mail application + */ + public static final int APPCOMMAND_LAUNCH_MAIL = 15; + + /** + * Go to Media Select mode. + */ + public static final int APPCOMMAND_LAUNCH_MEDIA_SELECT = 16; + + /** + * Start App1. + */ + public static final int APPCOMMAND_LAUNCH_APP1 = 17; + + /** + * Start App2. + */ + public static final int APPCOMMAND_LAUNCH_APP2 = 18; + + public static final int APPCOMMAND_BASS_DOWN = 19; + public static final int APPCOMMAND_BASS_BOOST = 20; + public static final int APPCOMMAND_BASS_UP = 21; + public static final int APPCOMMAND_TREBLE_DOWN = 22; + public static final int APPCOMMAND_TREBLE_UP = 23; + public static final int APPCOMMAND_MICROPHONE_VOLUME_MUTE = 24; + public static final int APPCOMMAND_MICROPHONE_VOLUME_DOWN = 25; + public static final int APPCOMMAND_MICROPHONE_VOLUME_UP = 26; + public static final int APPCOMMAND_HELP = 27; + public static final int APPCOMMAND_FIND = 28; + public static final int APPCOMMAND_NEW = 29; + public static final int APPCOMMAND_OPEN = 30; + public static final int APPCOMMAND_CLOSE = 31; + public static final int APPCOMMAND_SAVE = 32; + public static final int APPCOMMAND_PRINT = 33; + public static final int APPCOMMAND_UNDO = 34; + public static final int APPCOMMAND_REDO = 35; + public static final int APPCOMMAND_COPY = 36; + public static final int APPCOMMAND_CUT = 37; + public static final int APPCOMMAND_PASTE = 38; + public static final int APPCOMMAND_REPLY_TO_MAIL = 39; + public static final int APPCOMMAND_FORWARD_MAIL = 40; + public static final int APPCOMMAND_SEND_MAIL = 41; + public static final int APPCOMMAND_SPELL_CHECK = 42; + public static final int APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE = 43; + public static final int APPCOMMAND_MIC_ON_OFF_TOGGLE = 44; + public static final int APPCOMMAND_CORRECTION_LIST = 45; + +} diff --git a/src/main/java/com/melloware/jintellitype/JIntellitypeException.java b/src/main/java/com/melloware/jintellitype/JIntellitypeException.java new file mode 100644 index 0000000..a4fa36b --- /dev/null +++ b/src/main/java/com/melloware/jintellitype/JIntellitypeException.java @@ -0,0 +1,55 @@ +/** + * JIntellitype + * ----------------- + * Copyright 2005-2008 Emil A. Lefkof III, Melloware Inc. + * + * I always give it my best shot to make a program useful and solid, but + * remeber that there is absolutely no warranty for using this program as + * stated in the following terms: + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.melloware.jintellitype; + + +/** + * Exception class for all JIntellitype Exceptions. + *

+ * Copyright (c) 1999-2008 + * Melloware, Inc. + * @author Emil A. Lefkof III + * @version 1.3.1 + */ +public class JIntellitypeException extends RuntimeException { + + + public JIntellitypeException() { + super(); + } + + + public JIntellitypeException(String aMessage, Throwable aCause) { + super(aMessage, aCause); + } + + + public JIntellitypeException(String aMessage) { + super(aMessage); + } + + + public JIntellitypeException(Throwable aCause) { + super(aCause); + } + +} diff --git a/src/main/java/com/melloware/jintellitype/Main.java b/src/main/java/com/melloware/jintellitype/Main.java new file mode 100644 index 0000000..b579745 --- /dev/null +++ b/src/main/java/com/melloware/jintellitype/Main.java @@ -0,0 +1,80 @@ +/** + * JIntellitype + * ----------------- + * Copyright 2005-2008 Emil A. Lefkof III, Melloware Inc. + * + * I always give it my best shot to make a program useful and solid, but + * remeber that there is absolutely no warranty for using this program as + * stated in the following terms: + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.melloware.jintellitype; + +import java.util.Properties; + +/** + * Simple executable class that is used as the Main-Class in the JIntellitype + * jar. Outputs version information and other information about the environment + * on which the jar is being executed. + *

+ * Copyright (c) 1999-2008 + * Melloware, Inc. + * @author Emil A. Lefkof III + * @version 1.3.1 + */ +@SuppressWarnings("") +public final class Main { + + /** + * Private constructor to make sure this class is never instantiated. + * + */ + private Main() { + // private constructor to make singleton. + } + + /** Main method that does what the class level javadoc states. */ + public static void main(String[] argv) { + System.out.println("JIntellitype version \"" + getProjectVersion() + "\""); + System.out.println(" "); + + System.out.println("Running on java version \"" + System.getProperty("java.version") + "\"" + + " (build " + System.getProperty("java.runtime.version") + ")" + + " from " + System.getProperty("java.vendor")); + + System.out.println("Operating environment \"" + System.getProperty("os.name") + "\"" + + " version " + System.getProperty("os.version") + " on " + System.getProperty("os.arch")); + + System.out.println("For more information on JIntellitype please visit http://www.melloware.com"); + } + + /** + * Attempts to read the version number out of the pom.properties. If not found + * then RUNNING.IN.IDE.FULL is returned as the version. + *

+ If these resources don't help you with your problem, + or if you think that you found a bug that is not yet documented, + you should contact us. + + + + + + I have a question that is not addressed here. + Where can I ask? + + + See our Contacts page. + + + + + + + Problems + + + + I am pressing my special Intellitype keys on my keyboard but nothing is happening? + + + First, make sure you have followed instructions for using JIntellitype properly. Next, + make sure you do not have Microsft Intellitype drivers installed. The Microsoft software + intercepts the messages before they get to JIntellitype and "eats" them. You can tell if + you are running Microsoft Keyboard software by opening Task Manager and looking for the + process name "itype.exe". + + + + + + I am using Jintellitype.checkInstanceAlreadyRunning("MyApp") but it is allowing me to open + my application more than once when I am expecting it not to? + + + Make sure that "MyApp" is the getTitle() of the main JFrame of your application. + JIntellitype checks by Window title name. + + + + + + + Development + + + + Can I contribute? + + + Yes, please! Check out the contact page and contact us! + + + + + + I think I found a bug in JIntellitype. + What should I do? + + + You should post it to the forums to + make sure it is documented. + + + + + + When will feature XYZ be implemented? + + + Depends. If it is something you really sorely need, you could (politely) + try to exert some pressure on us. You can also try to pay us. + Or try to implement your feature yourself and send us some patches. + In any case, you should contact us about your problem. + + + + + + \ No newline at end of file diff --git a/src/site/resources/default.aspx b/src/site/resources/default.aspx new file mode 100644 index 0000000..0317e49 --- /dev/null +++ b/src/site/resources/default.aspx @@ -0,0 +1 @@ +<% Response.Redirect("http://melloware.com/products/jintellitype/index.html");%> \ No newline at end of file diff --git a/src/site/resources/favicon.ico b/src/site/resources/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..adae9386e5f18d407b186f5b779e6118980264ba GIT binary patch literal 3638 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

+W+LQB*5T|&D=*)n|MVl4*|6Q*Ir90# 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 literal 0 HcmV?d00001 diff --git a/src/site/resources/images/duke.ico b/src/site/resources/images/duke.ico new file mode 100644 index 0000000000000000000000000000000000000000..d5dd6dfb945f848fff4ff9d5030c95c4f86f6c7e GIT binary patch literal 3638 zcmeI!`)`v~7zgn025Uz_ST*Q|>lkg{wUsfpa>w0J(XFB`$~JBasd!_+#A4J1ak4q4 zBwJk8c@5D-iD^wtHIkxHE11pr117UkVHa_WY>hJ7U4TU7_&smIj*aR+;Cc77?>W!s zoSvTd-RTP?AQ34k;CnJ2PXe+4WM)R|A0z`!Y_qbB1Z-9v-%y+&UniGLc3!)7Ev!~6 za&vQ$ot=$Mn>L}WET4D=%w{wE{tI~XO~KC*Y@14BMS6NF=aG%#V%a8R3vORkfZA7H z$HJ&qrrxCxkf9e)lpu827V2$`IJ~>i3vhatW3Pz6F+@MB^tv!t`Jf@Y4a< zgdfL_dFj*nw-L_md!Six0OAkMvwj1Te}4nYIWNBY{1AeTx%j1VF@AV$2No7C0^WZF ziJv`<{38umvt|w6^?r(j>r)_(eGKtT0bZ`oM%LZ;VfFKS0b362D++~=d=<`?0>OFJ;UCj*^(SK!0#K<76;m{x7$*Z3NSKLu8P5k%2^8yXuMQD0w=#Kc4x zjYb$Uj3`|;8>{c%j9q*7{fZowHv5*KFm&!K9=*uwyNzrcA`3GZFy2f<+}A7 zHg0#x57n0@0-snO}`rq8%;X7n`rs!hhUSe=_2po!Jx z+0^k>6^w6~GQJ|u6JrfU{oEd2WL@r!H!0DH3=Y{#9@4fR5 zf?)w)pFmSkpsHP<#4n(D*g-~1H&Al~aJB&s7ho?#kdyXx(0l2d>0R`dwA^=5N?$;q zN3YPQ(Q{m%kG_e%ioS$ip;c!_4|>pp9%bmK@1Xb6H`BZ5E9uMWOVN!2`aF7tK8-$1 z-$x&$Z>RUud+0s%E%Y_?PI?EuonFujdOmfnJlc4;c$BF=Oy5Tzq;IG9 z)63C4)GgFC)J|##wVmVl(|6E&>6__Y^p*7G^riF#^m+6OeHuN-_4(+V=&R^U=oNa< zPh1_YT0eaUy_de3-bG(YUrt|2U%=JO<7z5g%{2NjeII?0zMbAr@1gh5x6s$nJLw(t zc6qPR3wl8>=mou?=Y+aBp(DIpZM;H=Y!~=_tH1h zyXY(F+RHwYhn6MYqZ3B5ueZ-IiMpT2|MOW#b-l@^us*IuBY2-Ek`2kG1C{q$U% zI13cyLiiX>j4DP6Lt(^QpyAK71G+j|T@29z;t^3mO_4 zP*YQbojZ5J>2#u^q5=+w1BHc!>N7xARu<;WnS+@#XF{jb@vfLqhDHpAj8G&q+B_K; z457iaG{ae$*Xu9=L=Z6y4i2Oa7~}wYf~e5x++&fUp)q&lOj2lYU?4T5Rr7l7l>yxK zZkE>3Gs6a%9~_D1^%N{x{b+05zPi>{_gQcP1HYw)I0LOdR>JQ3eRcJ%?lB}KC51vG zp~0*37BFy)8cXyrW>XBb? ze2ESU)6hsS^FMc8o&dit|j7cGp3p(WpXeQ>-?d)slW@ zG?v$CQc_Yh8g&G#MKPHz7V8k0KXHOftJm{sR|Psf5V0yolVY)$(bLm27UFz#I*mRG zWM#-|F&oW_VnrnSs~{UwR3Lx6bkJJOMx)tmWkoH#IP9+i)>#YldEA;V*WjO`Rl$TG zzbjdJ{bhf7m1RsUY8xjh+pm?M=qJ@ToCcaRMDg5P^aS63dUXDz@X9fUE0L4WC oY$-a07sM%US~9{3(YV0(3sZ!+C_^j6rOP2^@rj|C@x2g#1MU$R$p8QV literal 0 HcmV?d00001 diff --git a/src/site/resources/images/duke_up.ico b/src/site/resources/images/duke_up.ico new file mode 100644 index 0000000000000000000000000000000000000000..68bb02e4df84781e8e626f691c722f342328745e GIT binary patch literal 766 zcmZuvv2MaZ40Rf$TqnxXj$!Oy&`;{fc4p!_A;z1s^*izh{e?(WRmVsS1PR4`_JtH^ zojlv`+2>1gA}H!JFwixINQ7$C8(i{af`uh z3c}kF+-XV8QCY=^z#$~1I3CeIcCf1=-s9Y_*$NwtJT21xWERa0^He?;HD`6#l4|<# z%+7J3e*<5QyP2fz%r}b$-Y-tlm!0&})}Qj)f8w~lfOlX5pv{0^&*#7n*b^;U03W>S ji9Up>mO5)jGSDR7FX0ey)RRaEi=T}i;v literal 0 HcmV?d00001 diff --git a/src/site/resources/images/jintellitype-banner.png b/src/site/resources/images/jintellitype-banner.png new file mode 100644 index 0000000000000000000000000000000000000000..56dc17689a77740335732d12b23c7c4cf24e97e0 GIT binary patch literal 17324 zcmX6^b95%n(~XVY*xpzhKe3ICZ6_Pswr$(ClZ|cLw)H*l@B3qL`kd+M>F%1Ud+S!% zA6YR(I2$r>zoR zpX~1+GyzDv+}!-uDi76li>9SDm8xcqb&C*u4XdiAfmMyBrLMEBa8zi2%22q_kuBy* zvXoCB7feAIiPpfKm*?&y)P(UvJGbl2=TGnLXOA9e5JVgnvzc6h04U&%jt=9 zeK(3G2snt>)-wNp?FxA;G6mnky?ZI zVleA@A=Z$Pyep-)62G@(0`GsF$GV!+xuZ$vux(0FlBp9gagFUufHoVh7aw~W|JTc{ z!EO+ld!%bB4=Bo8S7}G=RS`PJxR3(@szei^0eT}q?!Pf`vY0brC{TyP{q+>V@^$9? z$f5WV9PF~uWko}Mvmp7q$$z5X#T1|0S061FgFMw8@*lmm} z*{xx&CI2~CoZ0i%=F0=^*=uJ-;{Up#WsztP>qPl&JZB`{dI|}-CS<1gh$ntdyxD(C ziQ_9dItvaSJ1lWJG%i)jQ={_l8XwR0L4!r$7VLBXVDP_{8uGzr3oRgIbjA829J{yN zZ?WB?&G=ElKVz~n@|)8b>W6`sky2ptp`|vo>kn_&oe6=FyO&=-Naj|-p`9-_19K3} zl1u(uaJuw%rX}E_oTfH*BjW)=8+xWHn=`HKLO@`MN-QIOfgiw{iQpo@bOolOk^K_O z1Dj^8P_6npHQijkwfT7*h;-HMac#XmjXwY1sK&wP@@>FoQE}eR6Na`r>@j^Rj16^` zm##GEAT?H1QWyUbfmYcop!JX9p9F3Eh)bLaiB$<5>EG47!^`d?6mpZlP2u5L=e~9? zzReL$6IWNNq@-0jKp)v<_Wayu=hZ^mUqw?^FKSOAk{$my$7Cc~RNRC-yd1L5w=p{! z_u5GlJj4tp@gSpyEp>A?rd;vv0=tYK@bvjvxmR18o0?i!oXAb&skW(WPT67TI>L>N z9`C3tcKcYy`-`gSHB^UuxpFIZTRNyBF?|9r%_qYoE=T9|8f|N!JFWWTn}9mWAKeh7yuIVvL5!@o$g!E8!b*K=jKh|Fv~uZJ-&|%EaDmRe__l3$G5W(r z==O^W&dnn=QOh54ykACrDUVadf?Dkkj8Dpnn8b9GZIPeoY&-NMs~K?e@Tu6G`cx2)v#eH>LJe|ubTDKtAOS6^9$IG_C% zN^Ea=>h9e_qOc}_!^3AKsD8vdT+Ep1?$XXEpaiG=W_9^I>i6?X)KnSo;z7uIgq9e| zHgp@FPSoYwjI((bq)#i)^RF81!i~aPqvq)YCfuP%Y(X+ODeP_ zZ#dD`7=Nt&27z&ny|SAp;6){DvVTtR(EH+=KUzXxRbjzFz&lgUL zoX0$0RZ&1NKP_6~V=^g~JTaQ&9_ve>ZQF7sjw8~~YXoeQ(W;*abaQyt=lj&8>w_yP zbr-1wXu8C*@^P{&%5!?YSshKT|MK}JXI<29hbU8pmhf4xbhErlFysQyadDb+#i$if zXz*3(ZeMl^2i)!*C1pTI<9Qr+wW**~XS2kBgDWUmb_&T-9GSbt9(FW4`}pjR^`VNg z41>`t!u%c2U@WIM`8F_O9jgZI#mVo%7@VNN2o74nUbE?{zO!Fe@R1L@J29Va3^SmS zl${oo)#5jmsbT)))$O(a+1;3Sp#viA1Flls%-eF!0DmnTmQIWk{{xv_#lxo&5I(ni zUzE075bpCK7;cYCb&#OGvJexSj}jDu`|hSf8D$EFyK(R7vQa-nr(5nJVEd^Wkxcu2 zl=1*(Wdg=j3gu%Q{$?2iA0#O6C(dP`>jWuSy`1&Bi5yWP?J+OzH<{CQ_jo&Xljq^_ zG#8-yrZ#Z*L*518Q*(bgH#>Dwg4>LNftfQQ-;m6>~d$XOrA=Yk`V(aJ)QZIeDh+PPnG$ zMDKKfIhLSk?B)KaY2-m(d9t)rSh|k;UtU6y$~1(qsF0|wTe9-3XRCLI`=E{6&t>YI z=O8mXa=`^IC4tY6RM({w{eBa=v;M^~)wi-2XAE)A_OhMg9T7_$97KKa{9#0kN*zbi zY=0=;KT4Qj$b1j?cO(hef9R5jD=^u^zyiQV7m@@?z;OV-b_P)er-rHFa_n9{;uH_F zz*&_hN`qUSFtK?iRu@WaVIkjr^D_De!Vqf#y4HPMw-svYffB{vLUNr}S%7G{dqiI}zKW-NhpM;nh54pebT zLpOBg+UICVy+RquN9ZpRiT*a?vDfA`Pz21{+VqpHQA;Kf;6s@Y_Xn z!fKV5@Tq-8UA}cxL`OD4ce{D}CjT4b>AH|rlQpyXg_OEvYSCg zr@=TMucJn6-^8$VLSqu+znz70E|wG6u07~zq$ZJ9->uf*_~~DUsERqsHQxf6S<_f6 z%UkV5qHM!q_xavkv}U)Obr%xkYyH6@h%hdC4Q<2I?ERasB9YVG$B)P^x^HeYdUQG~ z#d-Q@GUV=Ef1%rZC9NRHKCu*B`2@ezRi^9lwy%8>3 zUHw~pzOGY zmv^W2eo6leo4>j0Q~&ZfCS8vYjrC=YW>ny?8LEm(pd&J7k$DFRv=r_UnHRJ#Py}69Yc#Evt=P zC-=sy@Y^ZKr!f)BsR(4;2I<&nIlp#5GF2%{ctN&9^`r5q87*$sYAI3Z1(z=GwU?}? zzOR-^^7!ZbwGU78RLb~uh-sKZ=klq-CnGjkSfuktg>`AlV`=54#srg* zj~40?SPn%L?D=A?vC%!CfCeV6<(|9%*Pr!7G-xm^4D=D66n z*z)s04k_Z~mg-&dX)gN@JrOmsQdcO+*X_las2MsAaFPAW0^PJyq`>1;=d=raY@fX9 z(UHuL@gU0n77;aOZ8pJPnv&D3o3)!DAa-ULVUpzlc}8l|1BsT|@#LItYm1oc8;xso ztefr!Y%Ld*GdUPxuigw9MdJiRHSRkh?6Cg2?2Fh2eoG%422Yw{d}DVD;VOWL09@?K zOpb`w9qn*~v{q}N+S*R;1`XU3z*IvT}v3L;Vob#o{+b_{`~GqGTZ`FEpD1D0~yK3 zcnP}UTrHcj$BtE$Pw+eKpn%UYzfqN)X5Y$s`%pH^NMZGFytTveuX!sY`^hUGsSX5j zaY?EVhoXbUxW`iAJdoMvSUXZ(7`t5Q!cJU<)1T5#lfsU8b2TYl@&U`iBCLcu`9K?m zYF0;-OTVvLdqXDp{o_YQ2n%;e&QKB`yPfrOrnP)c6a6!N1__KFftj>sfZXNk(fSS6= zd9M>YfoRI0;)o3OcMRpZN^NRgQ7faP^r%;AnT2Jdmkoy}ju8bO`8>ds(%120c+|b* z2U<=tp;&j-8FOk%jEbsZFX-mY@S8QhpiU0k(@Y#^SaB_h;g>3*X3p%FI`N)`NXS#~ z;wsK2)D|&#KYoT#%P50^(jt+{3ENCBT7+^NWH?S;d8wMbd>L)cAMwKUoE~PBKxo9S zL?x=ukw9T?SUEFBzE;xh>6Ekd-!I@cg9{fcx@Zn^+>~06`vz^Y_g0}N98dr1Fe1Qj z;7|#r>g|otlWxRD$H$UVr8oN{_Rl6PE(d}z|852z)G-%zbtvNd{>E<28R0N9kdH@< zuxO+X4?nCm9v?$1I+RqyrNmVKh)bDG$S5=4VFgBzesuAwL?Luw8NJIPxENzLi*w~p z!Oa2Q$v$e#HyAJaVKGxU-yjJ0P znqsA1PncdI+e2ciHLO3}VY+wLXJXyM6vII-FgYs~nB7!F@@pT+m^=BC@Y1(r(K&R; z$W00@VeR8tJO%1Y651WwaxJrmlf#To-g(Vy%=JwS;gX5=X~m-DKf`Q2CZmUK?IETF z5x0?G@RZ62mg9^v7#ST|Y-ptlL2*Q3A8}h3#u^}S zJnU9)m1e)TLq=q9LfUun0N5DD^td48gTQzlZJaJM5-KP$%l;`uwNUK!LO*%#?3Q~c zg6ZJumSD5F%=1t0glsz?Wuf)Kn_ZXKxhUspO(r3j=n#{VX56l+^|jT!Pa8@KJ3b@K?1(#PU zSgk5IKGpc&!71Ys{##d^?^jGqfT!0nq<;zDy&QczV$LZ`(2~ZsD4yB)oJaV3?2wns zPF|T2@JnsWcki=HC>%SNO#*-7R z?mh&Inu~eu%adF`D0^>Wlnh_5&w!Hzn^axen{1weg4y-cvB$A!Ka9$>(5`6$_PHiN z_}jB{CI zRcTI>i~!qM7<~8^DNW2J9LtRWA(^E2b|RNMqp}cO`$)k1E+7Z7{zIt6b;Y;+0VP)2 z!?}+kU=*U79*5mDsvGdQi_)u3|!Tu6)(I2UzWp%U_Op6Sv?oIqIPY++I*0wPT+Op!c5g2<8?!V@A zv2?4Ww3jH65G1&Jtjl11rp(GmuUqr?c)C`$CCmeYt7tSSuzAty58CW6o^KDi)m~fJ zLC4mj!^j0k{vlWXdxufv)eza_2~VNs59a+~0&Whk_a5m z7+ul7on*vi!IQ=512ks@=S_98Z&OS$!x!5f*4E%Sx)I4HcwBTi8>(%0G(|R2q>mVG z8IQxVR}}>i&jfm0$Pz9!11YaBO)3M!2XVcG$xq)l8rOWGCPFsn)2#ST% z$$m}LlQDv`{V)HIwRS`Gx&qT*U#*;zNf0(mojiSH^XOuLd;7;Gq&fJ2G7uTECt(vZ zZEm!n&%9uup{gJdd?uK7!{TCOTNNTg5zZU zA^-uZ`3*O1Hd=Ur+gEwBB*f^GO}VEo#yaQxuebY$`jZ@U?W{i)LZihsq=aW(O0Fgp z0h?j(9TJ`3ohPKwlr^e5EPJ&&6+Jz)z>6J1f?##X^hwQnN73rfgz+o^B?rPTyCQ5@ZISKNhXfQ#KlLwuP@mQtme>*|+tQ>pr) zj)thSHW>!VlwVvticjmsdj#5L80Z%@^H9*y$(|ns%E`+uHje6FIY1VH?({~!PTG$YYo%kYr|Ip=>p%ky^-aRhDoU5H zlLvDu-fCk??ZxSBiPcIb>6P}q#BGJVQvt5FNY~4Si}*05Gvn6ER-}KM3xbz3Sk@nT zq^LocuSG77YCl~=iNS@$Jc@Mk4546jhA{@b6x6vpJvAP@pYO}C^EHblK zyVp^xy*p__j?+%{YL#yQD85_I>{6QTq6u)19NvVOswmKo&Y~jZIlO(@-Mi*X__KhW zE1#1|9U{v=5CaT>1}lGh939IF){bWGG%m-_*r7$IVGf0^otbkBDE8t?Z z117&yaCfP9B>4GqV)U+Tzo=$X+7HvbF>|E!3_}NFqHAA$Uk0LWt+tdIQ)IJ4Ef($Pm27tpSV%AN&$8bJuhta93o6C0kW2B8IpjX`G0o6j81g$cwO0r6e*5YVx|z7~)6WJYmJFOW z#EQcSnK}RbSThZa&-sV%YHQh{fL2B_voLN+(2KjcsV?MI0^`MhPRo*NGq!2j?V2G( zA?XpKpv|tOJSi>?C7E=z{|kFRWSqL@tSu<_MYqQKGi2=480n9fPp^FeKiYR0w4|Jm(4c}|!82>bJ4q^!R72RyuTv^Bb zi|&m{M5P!=ix+nPBU03C!S`V~hH=u_Z(1TfNoQxP&njYSMQPxe#6^DPqek0omRWB@ zrPlduW6`WPx4@(uBJy$K6Q3>5`&Zst%)_2oDWg?}qO(lI?SijncP- zD>Wgc>CU>)`aPtKL1gJfb9K7HCtVDc2lW^OHmwdzM?13{kq7MSP-;B|LS{^XHIHxbsVZ+A!Yd;A9ZbDpOpGn# zg}|S?-~&5`H=%w94r=0<@rQPUP>Uv=2lf}Koz!|EAZ8zSKXU(omEox{QdZ5?cdC`e zTl^rZNN1~SJdUWZ0=)>mS*n+9k&qSuTf37!Wdo8o7VU}cEM>^tepYRxMa{NG|80|7 z(!vN7rgu#n*Ne{zy3V!XvUoOLB_A7m>bX4pmb_IgY-Pmrs5eAU(qLA*$UHu8it3}C zx;f>p%t*OS{KpN(U{-QAIxPW&Nd8G1~(6#_e%hRG)5k`HT%Z1|O<@Qq+;q z0ITj?x9e1ezq608oJY*-QSQ>tq{@(36{L)qkZR0MNN8?Js7RqKiB(0X_R@Aw%gsg# zLd8osZPLc!F0<4IndbQ>(0TIZr(gjMN2oClI$FR4$Zze;*okb$wZ~`lm+C!{U*Qk5 zK{d$A7_INVtoEUCse-QH57)+N9E^vH?sXEalP|Lgkk_MBvWD^Ab=IKE0m5Oz#5bU#ohjG|hU@?fI}PKPx%XYQ7(p6 zG%zuTXazoQyqOl5of*+054xb)Ibd3(X?K9PI@3@l@^7xbfbiS%c*mwW{#!fy2xo{w?{&64=E7T@kU9?xgkSb_i6k)>#_=DoORmd7f%Y= z8l&mXhTmG9mbIWt!G|T?gT(2m5)@CS(d0%2P!4g~Wy)t&yUbMS;@*{a`#VCSsv2ucSBXt6aO zAx~vd`F)`XiCCkLYM)U#BMu{`$t;j7s2{RtY!G?-?NP$TW&e7LP?kSU%%;Y**U*zi zBz_mxa`=3vm6f8NH(k*LbvlFS9;mR(scGDERO_k6k!V({91|LPzh7E2^MP(TG4p!H zXZt}yGHJL{?h}&m+3>giU3!YLdQ3Su0grB{E{b;-TYz?yUw_Ll7VOWEYXJa%>05*T zO#lk|+WnfQMF4b&Y~r71f03lf2U=1L%1*yaH;j$mmaBRlLQ@XwOCBW-PhZGxr3Id= zp`3HIorTx>7Fb||JAjj^k6t6RP`$e zdB$_UyHY&o@^@QyO1XN=Z`^ztLJw0%K^CRk5wY*Sk7JZ-004CJU1j!Z^5jyR z;qYVGlI(a$?1kyPJV-bjJ?f=!9l(W`!x`+n(ay}oa#_063up!2 ztgb;c-kw>mO(wT4r&}eY`aWU06u(VFJ}?&5`~Y2~4iXL4wTzZ0EjX1C%J1T9zlcb- z{GvvHmzPJzjcC`j3EPfSG+r3Mi#%hS(W^IO$PFxX$It%P%p*eBCFJyjuEwZ$_Y&|V zM_u~@&oORD#7Y6!TRW8F{hsRs-G&I)bMgC9A;jvfUDF0_`c5cSeg=H3IkYvkM`f0( zOLXO_(J59~DqT$F;US3;quad75jB82T&uOzp#a6ytpYvBjWWQc;Fub+Ra>lr* zM9JtS;M#zJ--+Abq;2&pQus#%(AYDS(9?v+@D%8A-8*St+j?=?ZOya4he*s0`tXQv zI7o0`<;=s(`4CRgMFA%K;NvIzN~ah0=(N6FJVl_w}h0x?|#lfP%Ic8o)d#^@I^a$t(&a~43*kmdPr)E7+?S;*D5tdr_-A_LI+P0eG z17?*aF>uT>K4E!#5Yau0^L~~40UH`yp@KjH-at$7-U>^J`+f2 z$={YKqJpMRu}=?>h{JBf_&a)=W_F~rZe^`Mgs1xQ|3T0(3v_sw)7QpVs)b2M?e-)i zRFcV+-Cgz`-_M83jSO0hoZP@fgk)SQpa+Pg-lU>@*J~71EBs-S&IRbw$H#aNZj6Gv z(@2e@-AI21K+7c}o>(0kY@+@=*+|Y)2%5c;ijPcks-Pnp{}5q)s~O zZ=yc4!?%mMISC4OOM&rk;K%btk{rP0_@#VCQaC0CG*a4G&c~UO>?TIK&X74J3p!t^ z-HAcIn`E!6_aRpyHg5Mdf5_xigntxFqCiH%W*}cSo1vh)3Htzsi(uR=8ZCn*3JDn2 zJR!{fAsnq9W(-+AvJJ|zx{gygGZ)d*t%@UodP0o*XbXRXV`2)6^`0C#NG~uIeuHJ0 zBz*!sUYvCe;;#9U_=$n~DMmOIGF=8373O5lgq9~DumQ)$v#e!x(SAWJh41N`d>t3N zRh^;u1x{mZ;hBX-Jd^PA;VnpSoQ;cvgUpz4iEm_2kRc3I?JpaufcjeY;fTp-A`XCf zKN8DAA-5-m=n8FxqXMdF*ad2a&;G*EJXASsB3u%Cv~1+xZ*rNu;uAI(!qf$;T-37z zGXcG!D6Az{o(=}4^0mqM*60(Di#VZ1-5&3bw*@z=r+6UrD`S9Q{h`DDmoBnZ1=c2b z&i+@5p+IeT0FUMBbX(1oxb-%(4t1F?eflgj&>QKp<@sDSa=p0d4P1;JSo?HQB0B-| zH&ghH-s=pw=Vd-@v~WwJdxn*YM2l;o?V6^+xM;?}eMwXGFF%VlPony~J-HaY&3d96 z;HG0Fe|J2xexWM1TrkyuDe~2=bV#a3TxW+c7vx3%nZQX)?oOiH>G*Lo`+|!$SU4BG z$(djJ)5bsdOCzmYrKyJb{u0*t=v14(3Lqzl2%GWaBr8)(cuq;8Ep8YK%^2xw?f7+8vxHfbPZpFIav?;LE{zqzkWmySazFd>Bd3pV<>QA^d8QMRhj` zs=1t{L)n~!yXh^1Z#FY|*u@pUF^k}o46-i)XQ}5qIa8^g4;W^cW>hJx-?tNl%LUgy zCd)+$s&kjtqWhI3)hfH>aNI^^+PtB+Gr;wu9;IyZFX$5XB&riGgC?t{!Q{Kc~Mu4 zl+Q=cn3e zdo2#%f%HUr_7sCNE~(X`Eb7I`5Zos``&qP@B$O_Y9pP)3F1%q_j^##2@(6c+7Yu z$gcC=_lj(I?#G?`rw1dRA7}yHjDv!<(7#mAb3=cffs2j12U%=kF$5k4h5#mBBSEoi zOdMW&$ZNNjJ)4`UM9LB*#Azdbi*u03eTzjN|;W$=^Cza+SbCom?pICz+vd|j-f z8@CnY?~O2T&Sk0R`~NovAUszR|E=ZC<8=YyS>0O*hW1OfYl%-Lr4Z#8Rd%7rfrMZZ z3eAqp!Q*MgmD#k3!wMWAzf_)Ug_*oFDl%I^E$a-nTUFZ=LC%C$XTR6bG;Y{Qmwpp zUlrEU=9pEapX;#2miCnU>X=dRLco)};p!^e*#0{J0kh!i@g?LUCwZ@Za;)in9gu2~7ruX?kBnp#X zPZ_uR0pJj$)k$BSlS)e(CR-m2mMNgC;wN^j=f9e!0jYTy2G0dLlMipFD^+;f+I*4% zbUe71>qNxrN2wNBbu6*1 z)h^*fxcgPwoYT9y5IA6qm&CjrjkKQ2cl)O29 zT)*=%c%6_-#+?{BKGtg(;K8xQ`<)8M0sSV)vx}s>T!9WiiubL&8vO=U-)I{@SF$9^jyST=7_B*+v=S zrNWU}+2Au}T{EM~xc)7(@w_z|6;)PI;jezQ>dCU8BGpB?1a$kHS z0_>v^5!sH}?X%9qUL4WAU5!i_FfVP&v_;ONNFGO72G6jZpSmB+b?UNFiIe>pyXnfNI><^$h_fy&{*|8+a>JTc&{FNwr)ry` zuhp7^Tv2ju$Q73VIKU*9uZ!=keK%!LmHaKbpq;EGyXe*Vb0B@Dw>vDdyjlEX_g-My z`YbPjKmZx`$EW`4S!P%P4*QY8UfTJWXv`%`J>3iQ70_;gs+!PNX(Q$V-2(n+AD)u~ z9Bm9{v`4Mx`=3S*9!Lq}qANfZ97&*S8CW_vT#=|s)n%WDGeytqQc~6>dqi;r{S?$D#FD}N|zZVr+4wD z|Md*U)|Es{I}&cGwlX~SeFgfe?v#xuvR^wPJ-E-+j`hkEpI2^yTe1z%es;p@zq)8C zpHyg%C&L~eifaG72a+KT0(Fio>O;kZh5sV`=~ z?L^1+kjX-(?J1(2S=DyBor`jWEn1#zl&toK2e(Y05bRjKRpS*31IW488hL8Ede#QA zT(0!Q3S54&bi^x^O$8{cfRji3>Q_s04$mu}2% z&Gyjaqx>-j5%@bt67T8PF@u#OJNUy_h*$`o5Oz1gA-+2bt(S)DCJb-5K!cfxcq@&igIbN z4E$C4Vp=T@_F$SSQf`@heY-Ege@wc;Y%aZq)u3h91PC`H%fEohPmvj&a8aQoYa-3# z12lwdJ}eL&GuL4u4>{03z>!I_!*GurCyp#C zyP*KM6{sty;=;xgaoL@p_(>JzJ{G-)lwTgt&dxqM6W@_zA_T~{B{~u%w9JR0yDvZ8 z-I`9S-wUFnql*Qt5r~pYF&QQ~oSQxW@efX_vDHzeX?ys1@9n3ryeqKhxqo$Fp|4h# zCfdD1-A|xLcfflr&arWZ@Ds|-)q?I5L=$LDU-=%0do>Vy_5S=tQBzHk)i$B?t+>8C zyswY2+Ez~>MELcdl4>A7Q$*wbRE|bjfv;cx`HTU+^5F%az=PR&8GI#OY zMTH=xVt-*>I+gHMQ|>pEr!R#II%tp|B2#q~h2{><%Wis7?Nvm?6~1d3~UO1F2b6^&MJ z%PC*R^6bAx2*=NdR>L^s@h__`K*a~T93C+t@5l>^)k(S7AV~@Rp7vAB;#YBDIk3`V zVYO_uEM7hU9aW6_#W`3+AcBe+IxN&Et7A-qaoyo`FFC5c;-3j-+jllC^22hVqY6-i z^xjyy&LgWd>iU4?x1prdXKO#>>LGXy;TGQ~>yEIMdC>lFpNuw;KpYmC@x;L)&Z^(K zK`FL>yI?1+_D$D0^QpOpJISJVpFgEjp326xxGctO-qSFMg9FKLo^qWA8t6!iR!n{r*J?62bFyQ>)a;$HJlNi3xw7{8YA+@ zU+5N_FUg&b0^TcbT^HV%@%XVsWfWt#C}|SKu;0qYROCNL4-|?T)l`&8bUzh62y;|K zjy=LfD0M^Y{y;A4{5{s1IFbaJ$FB7d;)B&7^WB9xc=n^l{tCOhc#`cR?2Gfw2iW+2 z2)+V!^I~!-ywXGE<%_i$aF96cn4PaYn>XwAg_(H@eZl&BROfIv?eJ#f*elcKwtV_I z*+^0DYQW3{pSQ(fr)9za3*D;Ug~DPg%6u@LgBUR1QZ-sVD5_1?v-e0##sPn$v8~#hMA`@rAL(I z(m**ztK)n3-hyLV3fIk@l1JOV7ka&g21Y|G+IQDBy@iOKh%stLalItET@w@WPZyE^ zuDcLKd!TTSoI9S|JKWevV*Pdf_06_l@Di8&(Q=dZD#Fbmd|rv&Aa!_(YpY{!aL1K@ z<SJLcPaw3UH(L^JyOpJ9WJ4L%( z*1?+XSrSRM08kK80hBXCyuOABlWgP<^K03oQUAzq!tm-cwP&X4nlOnyQN@#PZZU0f zK6LBYQ^Yoqrcx}WDK|bu2@f9}pr}p2u|Pp486J+_25DcU zkRZn0^3>W(&x%0GE( z9zk6N>5Gz9zVT+S@nJ6z>VA@}rwE2aY1^mJiZxAITdnfOCIG5gQ}`_k5h z+bFKepG7O6M`@T%u1LWle-CQ;$ns#Fb*Vt7-r1itKb`a=O%`DjD=@qIGDjnu)vVWp zgN#!pu}y|9Z3GJt?E*$T8WmXx`Tqa}zU`Mq)QnV~KEJEP%T?gj5faA@8h!+!5DxrK zQ>gCWw^D*@QYiO7;wCaN*!*;ht+A|UZ{VON7lWL1bIqLWOZ^Mr-|!8F{=wBtv<|}Q zrRIUhj_njSrPCEdw6AJ;F}` zIjE6kA(0^QXU-DgMvGBN=oXcq$dV9Gcpmf-QbtU^z;7h6a-1g11u$S%9CaQZ?(F;s&OBi+w<>~$&b2d2M&(Gt6JPYMjm z^;Dz5-3r*Oj{Oo&H)z}yqyila_(0Ot0r*(Ce)j?E0S1qp8phKJXxm?HrEF(SAt+sv`snvImtJ0rr6byIc_ns6C=4ykdoRJSn_6PC%;w+4JOy<4Z%~FRr$m(F8-4LORD*L zGc7R@Y1=*sj|<6Q*o3L=v6%G$;`Cf>rXm!vq+GEZHR2COhc{|`IHFMQq5H@kj+L$H z95{DeT3KWgu=utXV7*y(H8W*otLods#8f_ZA_mksc!fw&L>8i9C8zplwgraZvVDxq zb@^Iv?4D8VeO>q76`EjG59ujzyF*k^LIATGxl$IvyN$RDpg@`ZRmgR*v`4~*q4RJP zEe3Agas40qh+$(DDYTi)VI#>+e>H_%)o?q$YDLp*exgLOEknCM3b_~XwXhij+bOs?dUI;Dn7?^8qdZnLozam`s`BCwqr?HdT#Y=v zW^2B{1R*eYiz5nDtc{GYwWWT1<1QK1NOz@xjGW+He$`U8Eh<^af_f70c{-Z8K5wo! z=bLF`WS^8If$BI%b0-JjjC#a6ysM}?mr2sA0NU+1L)z`|S7J{<^``~`2t9W}U)ys- zWA4ytk-RfU;~Xww$F&C_rSnvBRaN)Ey5KNR8ur&6-s!!!k|cm-!0`KGaH=*VS)8CO zT32M{MjIZzE5?z^z`ct5O|SOuwXcZ{tkkhy9p`Fdm^taM`w(m^?FZXDTGBRp(JLt~ zL3PE}N1Wa7wIwEi%*Lvt#TdBx?6cACY5vGKj6DoHtcS30fpa-xzC279!i^W=T<>A} zcR29+LLwa`IA!8sVPVA8VwxllQo;7~_xzN)qG!VuO50i*25^!e{z5pRf59i_DxDpO zTo8YCo+kj!>xV|uzoghn52bsP1u3YY(O%^9nb!txoa#3T$+&J#QsXD3wAWe}4%xq( z!(QoqZH|orWs5pMNdYok3x7+S8}z3^pO1VC=+aLfpmq-Zj;Ia1(O+7c>Icj~e}6?q z9sF`lycV&7>*so2ekUCouBZ{-$*`%=8rZN$6u!UW}YiNfn#21yXNrj;d13 z@bE}kv{`I^7J?LYfwwPISZpg$5|BEgYC;d-{UHMJ3}r(bzAyudGkW_WF;^>9hCD(9 z73@;DJIDD7yUKsb0H8y}cT_MK^jPoH(O$~R%CR*?dx9W%txp<{h{U8P*s^QAlKe0a zk&;@#%9=4S-R9>C+mBpGcN~`N->K3=epR63D#sIF`DSK(kmd$0=7^`=7X1%KIT%_l zs@5vi59UzL&)tn4n3LDz2cm-*LH`$+0%!dK#64o3zsice&m8fJL)3ZSMl-)=W>d;T zMIt&588*<-wu??*B3PW%jI`5(h`f@U{{Cz3`yap;pMSl0%A{B8M0u2IVfBhdL0E7Q z95&+OqOxL^3t2an7+bd>77{(eZiz35WqRTQJtTTn43OjTJjs{(I1b+rUzpE9PlE=H z=0kd>Z2i`}qo+lV_Uit<|oOUfCg<&3;ShMTj-!%Y*?S#6Ln9+N>cA4y6@V&j?j zlb9|-<~wh?&z|97D$R>bu35bypM0J26hkzk_uizMx$lRyb|}xWXQ(!UJ}lJ!Ke8gy znp`(HY6Y3FupmH~^S`cKIe5YdppC7x76j4n*tTiY`VH{ip2J7f=^HqjcxPd;opUkH z@+=Nuvc`apV3i@SS1cSS@WL@HBqZFy z0gXvW%FD|WmnTXS*Ek9)AmgLaHOJ0Gzuvn3mBXf0T^ZAIYGt1MR9nh8+&=$2Q24?H-VpvYoFAU`(P1%3- z<$|>qeRBh!+{IJgL$3GqYyDZjy{+p(F8Z>CoFohSD=xNZPL4$^k zKoWhkB*vscg9Z&6FAiv;r$K`TjsJ7dL{EbT4H`6P(4aws1`QfCXwabX!s36b#g;cG SxIBFT00000}KgSvuWYM|}{|9zdK0RZYK|9_F=3p8{94FL5FfV$ZXU<1%mK1=`x;3LsL`S4MZ zs1j7(pkj$pzVF|^qn-i&z5c6YG=SuPQedKdHV-7q|D;Dpm4Zrv`{dsc_P?Qj*!&ZR z^KS?f4S@F#k0${4U;qFY755MCf1Z&3%k>}5e5fpZD3=CRqyMTT+W#xX|Hwmw%KhJB z{F{OdP$~rYx6WB8_g5wWfCYG5c-#OyQCCq@0idCy0nAZ9z+)GH6c@#Z4+D)9fKG~r zL5lXc3-R(A^FPhWoEvc0VCrqr7}VHbJp5sHUTMNLCX z$MKAli zHEb|Q0SbVJ2QG{=&dbtAKxk?3cxN>=T;U|^(*M5HJ`buLc^CMz;RjTK(GojI+`Obn zXu{F0Tft37t`!gOU0<(%Jix?dc=rvrRR1vNp31i}$CkM~`?5Xill_4AqZ)GU{cS&{ zUa_&HMPZWui3N!@k56lj-YKJ4O@?%9C^#G=Ip9f${fN$P1w601qvD(CJuyk#2t0P2*j_qFEb?kTyoVe`AWa-HH(p51lCFfX3D1t zvBjv~w?c+;iB!aThbgW{uhexzcd}|^*B|HUos7zU4k zE{+EkrnRUu!8Q^&^Q|ng_Fx{?M=5q>(exuAQKv?B@9(c!g%iAx&w&BVqaBDZ!BZi% z1(SoK3d~?iK7k*T)BQ&8p38=kd^6;WlZo3-rz%7>jo>L(^!M4BjJ2poK(Fe!7{B0#E=@4wE?y zl4y-3i&v=-dFP6V>RBT~kPXy|MV7?xq8AzlvOmcR8PH{(o~`qut4z`QzzE)qf@T}D)!8e*b*jcNX{ zK*-8u-7j~F_Pgz@C2cSFC2P~(yKiFwx_!F62C46BbyBn^mqr_{!rzZ@^WJ=2qK0eU ziu;xKn{j@+<3t?v$nztD3q{Nq_Lj7x`Hu=SUnH>TRM&ct(sq2DyYL`9jbt*ZP@!`V zH(Yjiu;6QANby4S&R=YfjCWU)m%et; z+8qRA#BOxIH%))<`>~L_uvJ5O|I%7SJ*`ylfvtMlk9qI`8~F`-U`=%=g9y&rOd{0k zXYHJV==sGF)B19=xyh2wFxB_Rb;C|5bD8Nido=Pj75bXADA~p|R~fzii+=o1Fa39C z{p;YI(mw)lKzC$_&cVD0gBV8MHXG&>Ha}~tHQnk z_{I*<&4w)|#?=!?S&DK??>q3Y% z_;+fdfmz=gAdC49Gh=w^FCc)oiq3;~>I>4b{K|im4ubhl%wv((Pr+*OX;OMdJKHHP z+<&vQxXmt&HIM7-6;M-t11cDinFsHG1Yq`01=9wP&DGq!MW$?$Q2uRc{OGlc{d$Y8 zOK>Ko#{+F9iDTVr3B=yg&cB1*W;O} z?$hL-{0(95AV$h;NDOEMVn>lpDyT=*@L=ls1q@xKP_0?#@;xK1HW!v zzj2o|s}kcGTU@t#?O1rDt_d+=sLfZecQLIbyR*I{8NHrRL;9Wssv{u%<;M~0B%(>U zVA+g5;k`_z99xHomCe5|OVi^)j174?w(A7tX2Y zL@~Qe?#Nqvx_g;^-vOalnrUOXWeZ9f$Q5c%^J;aa(k96&>i6fZc&_9ujI}Z$@{_1| z_@&y1x8lt6r-{rxlY{zEPgX5gr?sZG&4%?KUJr1$Dg>RY-;E4ZMrW5cM&90lTOU;S zE|akHK?ROJOYMJW>K)+uiTm3+T7EJ@yS7dq03 zeNueE9J}72lCnWU89X;>ZGse3eFTI@^#)U!gN%(W#RcnDEY^gD2iaSF8#A!#Ofa+Y zPI%9+HxUb3RFP=28T@8#!xBEap-y{NYv+Z6+1lLt#j@t5AietgkPX4U9eG@&Fmtp* zU0!z{c4e6w^!}OS9kAj>X}ANNg8!GR(&bQP0Y+!?T4a;(kOomYtX54SFik)1Ea$rO zG&3^@2Ba7NBZVWBKtkAHNMCS91`LG!l~6}!lDh*pTfn42iqASE47wlkDN#@c+$ zLq+Y(+huC6?Dd%ER4KP)v*l6cmDA+KBjC{XgnG~#rw$Tr#fgkz%#DC)Q(Bp?seRv@ zXYw-Apm#X(>MDdu=jn9JOh|LOZOxy693K+*-f*MOFva*aG#d63LN^#3u2bK{^TK2 z%@D8G^RC`W*W_@(Y9Q`b6DY`~sw%PP0I6q}nvcz>Ev{${$+OeA6h;j8C&fGhFwP$V zF$&ZdfsDpx^I{q!@aK+m%=VG|3S-A}4HtxJ;+P_<3)aRk;%GJrn6iJZyvdUdc4+yE{ynYB`8mCLX4?$+YF?3B zm8SsXIJdq0fS3W(ugo^H{mQjv`6PXq_9Dpx?g+xZD}=sH?pE<(ftmC?YFd`FL@*le zm4JQ;Omp0D73XIEwyCsT&gIH)XJzpIE4coYl8PRWb`z-9`fNFf+MIb7?7K-E0wX4q zm5cg8XJF59RP4(cMD8+Y?vOlRdO;kAnC|MVb{!;na%UT*i%^Z0$M*}`3QrwOC2myiYVS^HYghaf{O77mpD{o@F-@T82T|LI6 zri%7UwS-O9_|k}6yvxpZOx;n2w`eNW1@fUqVdjBr0Q!)hQ2r@9HAkwcA!oX_etJKr zE=YG}PyXqj`c1H?oYS<)E#JC*^DTeR(6-t~p9Z|{ZU$zvi;}l)$gj=NqJor$1i3)R znKL`CF)M-HERrRX4Snzn>j(lwST6{{T`0b(L^rD7DEz5uu-3;HzH7fWDA^yBbSVzH zP=MpSv>Kn^+4gA+(Uyx3YG(?uAFTp^dIVtMAzYXE<%z(IjTt~7T`w|2*HAXgQZ~Qj za%^TUYK4uYxH9b#P_vD!7&;y<9h@sXegq_|0C(bnffp73}x*pL-Dnc!-p2)Y$TZGrMiSy_;vy5n&1+RW00>gPf(=&H%F;Joq;GnrqYa^1<= zryoe4uIlPvwXwrwyX-%?bo0RYck|RSW14hVVPR{++#l0TQx&}qUq`XV874R=IEar?d+pst^)t08i+T%&A3%Bx+nSx`{ z`SFj5sGcb={Y+2?{6Z2EMIFM>#*ZKvG}DfR(?hkpNNDzJP0aSqRO%2;W-v#$0#C}P zuCYrpS>N(M7_0hzc>yZ%yb-sL?U{ng%1e;yFKs?eadOvsep%UcbhrhjWY2V0lK|Gc z3a36pB!?S*zx8h1^9f=(*?f}+9qgY7yJ_s%J31$!ateMvU041Ue*BKNWNAn`uAoV; zPaW&mx6?%)J3?aRV2zJs?$>3N5o4TiZXS{JhAXo;clQV5iQ&2$$Hl)BZwq<6{O#3D z&jfQ@9&qe#Es!GJ52E+gZJxe-OG&Y!Ad%iV@s_H*Qm0xA$AeNS;fTc9g?@TfmxhTn z-4r*qAqF39sloRv{88OHPT9p$Lz0EGl7habyyArd-sQJ)(FWYJ{lf+IYW$a-#f2Sb z^gSWiV4>R=cbX@VUO^fs>BNYWTeaG(0qO0vgmMjAQ35AJ(8s2jG}!%l+|#F_!Q;I} zz%l6I2Tra+bLn1X^`cZ*Atn3D@z~Lj=>5!GIb4wK%^Nn;f$+=KWzEiwhgb8~Mw%J>FI02&Gm}uhmug7Vq(;E*&GFH`Nf`W@+8Dbu}$u zGB=nzP;%I(p>65!m)$lwZWwv&6das9dw;`Rv|jDnA42Ppt1u@|jM}TsuRT9eLI#IC z+4Gei+thY1B=CQmXp-s6u@w>i*Eo>sWugS74f!d9ej+fvt$$j#9REw)wvqm>p5tjH zMFwwsvZh$!wCh5sm(wlps#u7I`Q1c99fWKGL12K$=r8{>aMgb^b935SMYB{*x>(BC zu%znTbfKT?Y0;+0H9c6-k=Of@hhP>Q5~Rv`#!Hx047WPr&@)-R1^qcF>kXh!`n@(fv z2hGUC+6R0`^&(bte)(f0Kjh0Pa~NN}xdO4NCXAB|S$45CTVLv#Cwv1Py%I!@u}2{w zU&e*J5Y0L2=kf$g@;XVaSf{bC;rTdP$?=T`2lEIyqk}Fg5UPJ*$b1Cxt<^l3b5on? zV9@xFi>zFgh2vRF!51&MAX(2aoHWKJCpD+oGx<61Wqd2uX%%bl#x)z4ZOQGvdwlwM zr6qf2`*LXD-^xd|y+U2S9X^0BOl<;i+voi*`(03=$B-_CHFk8cg;(}^J3 zx_+hCmvj2W54%&UcenXSgqlH~sjyIrz1fbk+{c_fz@rxm#o?|bJCmEf{Dc%MLb6>N z+{eq4?Mp{Ceh0s7nlm<=;j3G9fz3U!poc4eNT9*{N%p+a5DX_Lz81UTV7RR3b9tYs zznw}c|9Yrj${Ojl1hP~g8mk93xX$nW=J+@L!K+N z-QK7r>gD9yng&CYqpJ5$@*`-NdDYtTl-~x$a6S_F-p?^IivYe@zINfyE`flRU|oxN(JG#AVi$Sf0t)eraQCezO1(%=lj zH47F~*+mu}Pd=v#{0;^0!A;%|7Lv#bNw1s`;D{D!F=qXoerBw3dQzIE9687-2|b%l zgZzR=V!NU0_{jLq+4gS-xiyyGF0`Ziq_nC{5W({Z=+FF+i8#e$0Zmu&Uo_^_)*ExVWm zFhSn{S!$tlvP+J58hd7d$6~8W{%i=Z?9B{xL_hgbjeqSC5RxfLBTHL=S`F)y`k8p= z>;HP)%PGSzi(%%AZ+?*Prd_Eka$+R}gY=`%vOfs5@#=c!eu;lu>HE{jQe3s@*9;3u zh`B&zwqexaZWUOr0jXJdr-YcDPY_+Fakz;}EI6^e)2onYiiP>*uF2x5%Z6*Pl1=Vj zy}}6Jy*PXXMB87`&U8uOrxxQ|O^O913T4P3{VTmPuPTqNmi9KGCnHN7`UcZJaNpt! zyMsr-;v?YllS1vYO4vPy`HUF9FH{L>wQDi$<=gDP)zBFUTf>FJ&kix^m8ix)I~tU%S|2~q`+OL4{F+?*bRB=CTL;~w7`OBJGVaImIia+`WD4*EFC{x!DUFQk=UN9_rwT!m zY2CRMIJZH{apjD_rLJ0KcEN?Xm&Lq1$6bry*>x_)&pQ&75){^EyK%3i)jWGAw@IYb zjquB|rlKpD1KEked)4ePHOcwD3^7)Ov|Y#8v8F6Dm)o}~ezmPx(9z#xOTH@=s3H&WI(>BViguk+T=wa8R{ zflqp98EhTfcMk6^QzD8Tba0^Bhb&M=W1ai<5LZjzKC|x#fzk~kBUcPXNL*C9r4hdh z;v$Wj=$Z9sLqqz&*o(JWpa-3}dg`IRhJs|d5|urZd(!(tSNLHEt# zYT=DZ#+vWz?^w<|>?tJ}EAG|=S?^3Cr0>N}D}EG8DH(IV%lFD!Jf9R4*{g9r5P%-8 zB?2?8)5%)YESpVFFO25Rubn4)nd21*&LQ#4bPo)E`0Il$ezS!$Y=KE6mP(?oo*rCN;w=$F#8-7b;9J>P==q&@_j3Q1ZSM{@@qt5d8u~En#pJcyV^S+P!XIm>$$J#*pPSe&uqkt$){0Rc_Fy?!tGUc%KR;hcRMY2B(lSlJrZj zWSE5us}n>so_=na3gj73M~nvn@1-`t4N~HYk-cy2ApIP*v#StJki6=m&EMffGSQo5 zL_l5``Ti0|RUGhEXl+R%veSX9ZnaU`st8W7=NlaidI{U>dOiD|$t}BK_u5i|%Hk2= z_Giem<=Yv|;dbG@(cOWeq?|t+WqDiB_^XQg_==RqES_^J=6wjPVKvX^-n;n{r7K6f zf$fl;n}RWPEZ}0cCCr?1LGkiE_QS3uG z=gX{%Q|p}|##_@nFQhvn#0;ssK@#2}HQDA31#uK2o>j_6mGpaJx;$B4>Ur}HBLD6b zZFyKJQISp?D{<&_c-9l&BSO7Wk^5Or%1+k2<&1I85?QHMyGfbL9`HtR<~q)D&KWHA z<3OHeW=qJifhyT*MUs|PRBtroDRAT0LcrIyH_z*WxraFRSHJw#QYZCH|9zD;LFp&a z^9VT6g5clDpIFDA=TZ8l4AMoPJT$uJJL#@e7-xp5g_QJ-#|OV_kiZxAKp*U)p}c(` zU=q(vYA|SA1SJ%c>HQ|=O`u;i6~u6DetjV;*)%~|+P^wH=+wAm zS=ur8=IydpgH`S7>mEr~COF&A2eE5$!!XlGI}JRE_uNjm%0SLjwc7bg1$(tIMo6DF ze(}c+en)29f+p%GNF3-<0`!3B5fGrnI>bM_F~K>WX6zY4{=&n9_ef;LqT1A3)_^kK ztX{2S$xJBezL_yYSx_X51Pi~4#IIlQEJWcC0&YLhNiNEqz)WzbfU*!0!K~w@BXYLn z2}De<8`7n-i)1`YED4iV%$GF%wnJjRVXNw%w=sSiKCp2&8C?R`<&R9*JF4TKZY5n6 zOLlWkS_dUMgVZNWadnMdE-#jjCoPVjHqRX2*&$Hdd-lRRM}>rXZFuVYrODqJL=3Nu ze^KoLtPOBg6tO!nqN}P?_qxq8^R-jPWlI~{-)*hid;d9qzSP~=Dbl(AU?kNUZpDVu z=OkdN{Yj`5Wy6{CHNrRMM@t=|qq@Y=)2D8p z?_o4Gr#WT6e!k3CYs}Lcfd}czljIn9Dg0AXv(0yAnfFYU>5r_0iR86Yk8*1 z&C--}0F|wl8^CuQe0*|+>eT_R4{CDW@WgOOFU#N;=^V)%AgzC!H(RYlOsm$ zSu^F?b)RT0QRn_L}8W$;y(#zCojW1JS z81s~KlHe*ibI3&M8L4`Brqj-rWO__njV*8Iw|AWF9zSvV>?hLQvR3a{q)}q-X!b5c z*VL@YN;y`zM--!!#f=xi$4_gAIO!cX@_v@KHu7!h__$SWXh^?kEB$xnh9Di-Vy@G6 z0^c#1tyU9bLp!F;vB)8qswqPY7#KG~!zR%vojtn1B6tjSrxOm_9wt`%%=M5BlNB({ z_;9iP@v55Q*Qux4s`5~oduXGXXraF-e6+I8T;7~Wx}K}wU`jxJo!|8l;3}7Bx0w|C z^u)C%gaJ4&k>cnx^bSUYg3TYHkVL1 z2J&|~Z>t<`TRevC2l9y)Zv}Ejx0xe6&5)e8+kX{H&B0_>HIwr)k zip*3RmOkXTkJGukdf2;vG|VRm`&E6<8O{A3Y4&x0@zs5~Me451s=A(wHz(8NZfNM= z=}vjJ($ezv72=h!(${b!QW=t?a@$uQ zjkUlv!~WpS-l2O-*t@KNhJ2bb(B)3MnzB3`IIP7u>rLKwXHkv_c!-MhTZRqPpNzn8 zJ{^JCpyd!Mu%Veszn))g!iD=34{6F# zzE7U{@UlovhH%xaF@)#d6`4nSr;J2^PS#;b;dS>UuV&lyVQ0mbdrPuQa>Y5s3FX#@ z({NW;1_mVxHBXc!T%4fc&&TYvd-AXvRdeqC4+};4xQiVi1}MQyHcLp%P!F$W+VSG` z!qQ#+4;8w`<@|tW_W~1knIH^kXDE9vbRZ9!K%lX5hz)LHNt*5)u1A_B3QCMN+Z`K} z>mR4)UDvL)aZR-@3jV%0j$vY&d0+z5+@~qnw>x0~Var8L$c)Xb4^oc+^|zL9Lo6&U zwq;1Fla6BV6&Pdl@%=`9C~tG&_}aH+^T0XMy4G9O)m%$Sai~_{o%Z|#BWf+Orf$>U zSSN9`BAWt-lnv!0C9DvPi4hgrM6JUIc6=k36+GyR;xI!@bVVDt0OO<{8bTEbaqnM~ zZ6(ub%09_Eu~!0X>ATzO8uWHfDmhH1hfCJGNT%}5yyyVyqz6{8E)p6jaY+&`$e!4% zEFDTCKUT2BlK9L9xd36wb;G40|EQt}kr7Q$Q;$@QxZ1{o2)2*uxt!KRd@}e%+gDub zL<^>NAaa7&g8PpEkq?54y)cP{U_!t3%Sda2eKM=A8&5yG-b$yQ{bP;L8{VweFjD%k z-)sq+ar8-xta9&q?tO@hm<6J4+PMp*W5K5#U$VmDS%T_X_0mUjAho`OVmy!oZih-& z4OICf)1xPO%vO8rq-}V%&`v_I+LSDHF|y%?nFtaKNqbf|ou6~5AsTB*0e`XS=sg0r z2n7y7+lZVwNtHMMs_XsmZwV+>>$X&OSgTqpIB%_0St$FGOM5Hj$S=6>3O4v7`0!+H zUlVq`bla=IATN&0yr7#XVF!PA4v8kdxfs*G^88Ty0p%_Agon)n%q;O^*zvIYRS?i?Xx+RxO{mXKV%U1yAJR zpDTnt0`Tu7pdhy1WIv!zCQHcysfBf1^H#?f#c$i$JTcZ!1vUUZB|2pQ=5hZjp-uOi z?04C0M*|~iT$PoK&Miyu)rMtI?H*V6%beW%AZ;f|wzNvivC5mY-)wC47+T}I8^?zt z%%2qOm~kGa^02{zFw4NpnERiyN{HHiEB2;8X0SC)tDAjbvXOrmtBix0B+OH`Uw?Pp zV?S-%pjc{dOD;xTYwj?Jck?((q24}PRu{^zKd?sr3jykHuN=<@IYPge1B*wVzMfhw z&Y4ro#`G1wb}u~x;EHcOWF;GPZMdaT`Y-7vn@jvWH$uIHgV}oHZl;70B&emwRe)A!={FBm@)rm z^2lbG749YWEVQ+iI16H)0>=FgB`F^PqAT3dFc;1NnE%;h{b-Svx>cU9F`~1%5Q8i0=OzJotICXm{nm@e z8-oLL)5XZVlZTOhx`<3sBi~Ug`mdykrg{#G?+n?|UpT+Rhjo8gjI_kj#?zY&EJ}$x zb9XGiUT8^mob}C|v5p9-UGH`c1%)V}wjoggArap6b)>87KkFLxOQi76ew(QPF8P#c zR+fcE-?Mb1)I1h3pLjW^z)Eex7-gCc{JXS0HpfEQ?PLDEZAU@kIX5( zcFfU}M{w0R9Y@to2Ah*|HheE0|$PnCM zS}^_Ovy&@ST`>0^2&RfMCYm(3+@^=(UB8T*sdQm@k_8=%4(v#-4E!ul$VyQkzU5ft zPd-(nn=aN$t{1b*LjJgwx+6kPdODVXwUD+2$XesZq~XSyXN`;AWFg-6FWGeu=_waO z$35S)WEF;$%~&DU1Rqv?tv}_cQNE2^h zN$$}Or$S%y`1o*8H+FlQJ*7Lb4AF(G3ai!lI)0t;m@@k)OL(t-hO8ZA{W?$Ai7qIz z(k`%YKV4_v?ER=FR)2k;?PeN{ZCdJyB4#Lw8S=H3S5cY1kK?LXi~aX0r_pOY!3EVz z)i`~+;ybQ;9yf;94I(3=>FR-RXS2KHvv`jb=D-)c1NDV>L&_ScZ@wB?2ubFOb`h@r|bE)WVCI7j;>SeB0J*h1aF5_wyE~Rl;t)m_A}>3$i{Uf|VEX6e}D+$624C`IJ9amX!1>SQ$Xhn!}%;+Y0zq20sEu&jn+du{)^l94FzTg0WUOzYs+^Ac-Y@ z>L$jaF19#8w(>nln z^mEpIoh0&frVbC!ghUC-EHwFNr&JbJ;zUP}%G`v}02{`^A~It_Gr^V7rAJnGrCdd~ z^%N<=CF2y_`Wd1|ogq8HxOcA+xiPkgR_M;RTPwdWyT}xYxIe%E?S!H)=YEwEd3DlC z0-*dxs@uD7c4%?YT_1ehLh?O^rMA_KAG$+Ll+{j$@p(YYD_0pEJG(A^L#+ZIreZb0 ztERT|f^*EBL9UH?X_d8dSDW(#d5a@`jcXVuQC&l_3L8m_2R$O1m1|a}i-X0BPIOs6 zVg-3wFk>iOWkkR7Oz;Joq&f%tM)&Tfp3HLDN$tZ9mc(1L^D&R6>kqd%=vBRb9wj?H z#B)S>=tZQmL4ch|9PN`ZsMzr!qpCW>I@UR_8-;{&NpWX_R03OI^snm;Bf{fA_`?)m z33$Fed&=^{P=ks?K9C^1G+A?|^!RP2)03n&*jn~fJ)9jf!W@@5R*E=nRHlc&Djzzi3rBPsN>eG!dZ;oYbWEZ7+WTivH~#1TT&J+6 zM_GW%L~ClE^{;4;Vq>zs;U)g|f6zI%^SybfsZZ#t*LVaJ~q%gL6^@9~x zz!M1aOUe7M9X$ItNzt;P6IZp4`D2C6%ZE|9>?^rWe|ExnlpTo`2!GzDoMW@6l0Y|+ zF7qrk`CLzHoh{bSi5xtY*y+3Fe8+H~)@iT3cxhhV85V-$C5YzaIq)|3W_*&*uQIe9yNF9>2wh|0lL-47l=Uz6hxKACz$4BEw5rf znDy7meOgAepds1i1HFN1u>sACBkUaj17WU=j(%!ptppeQMw`+}EwnfetXS;V*v|x* zyi8FF}r8fpn+`7cy3kuxentLtVq=E~GW@AW5h zDE4RbIi&R*tConTA85d`Q;?^f(`}5!OIEKG6JIsb>Pg$}Ep=G)LlfzScHtiJlstlM z+&zMi0FKv(m5Bo|wvp&^Zb9+I)%lfNlmCsi{ePl3{{z7NFH9#tY#qaobMVIL?}N-q zaN4FOi}k3vrMY(E&hxca3)0MUw}nwF{NnoVnN*H7{$eEU_>+=KG0&Kj#>1-<@~)-$ zfX>hdJU`VQ=^F9#mT6fDAZBck5-U1UKvVpIRR8p)NyVFOrg0D8k@J8km*Uw=ZUv=3 zvieYM0_0}zO>y|0BXop>+RyAp@Y&UyS-vUQ8dM|)LLXWojDzU|p(l#z+c+4c49^OO zojcae=bPpGzZ6MgpPk%9X{R;Xhn0?mMsuCD#vehIlRgFRNckZ{)$i!?ynDrcU?nN3 z30mF8`|FTz!@m~ZRebN*^2#N=&wW4#OCi`hgpolf8a?vZh`{A6)mg6)VsmqgI#pUF zJ_mZor8av867|h~d;f76k_%avXP(7@r^6mj_lK)h7F;^T0)EPze*>|=-827UnNdxN z_PF@Zu@5|e!<+v(2!i?VAr34+4=n(7Km-7&LAhV6(NM=k&;Wkfhn68a`oqMH{n?=0rkU3xDIPbhTmR|clms#b_9RG zG01Kgp@kxBHs82M25lY+>-(^a{C+1+=+&o&!bdu4wjbwuhHT}gtYr0}=Ui@2OZQx_ z1)j=X1&;56L$WPspGDIA471z0oqHNt7@pzChL?QTF&k}*XZ!SZ=pV9-PFK0NCc+jU z_{Rl2VKrB`bL^4FxXJ`ID&i;9UvV8yX&N7Y+uCTp`MS}zK_#U|lgg<^sDSA}bOQOD zF8bMQZqCKXY2%I6u%F$tM`*9siw0sxbqTx`@lZ5&5*<48Ed}CV2lMQWm02IBRhE7X zsr3+NI%mK&%B%?E05(Rfb&TygxDD>&uh|xn*;ku{)!Prf*lsf$T8!!rQCs6!jy9!A z6FKZ51&dA12o{Zzzz$r@+#lnaS6oZAUM>7w444-EEr0Z4#?;m}_|SB@`PX$UFw9 z=B4aCzFo7xd?I!6ob=RgDnO(IG<4~bRD!cL4nIpYUkzpIP%R} z7(`75`tvpUJdOghbF{xu>#sl*yc%lXzJmahsOp4lA1{F9K++uPf8 zHX6Sdk6a!7V@fmGY@9~=o8^e`1oQsG$BeKDOwxskMay-nFIRIT@-;1YW8ErZAdF=7 z%ZcSo=+jau+SlgPetx!}os_+rzLIL4bY}+d89e=vVYD9c$#S6>kESf&XqK$)Y=E`p zP2kbBP1bHAo}QEMuk(|k2wELcn#rHihgC#uH2TY*FG1;r#y73KBgb=pxCbNJ!a4o; zSI*gl@9WCe6T`Hq`)}g9#kI`=$8ewC7Y6h59TEGVg~?R@)Zl>DKUmQyr_*5W_Pe{~ z3-dGoP|OE*m(8P$cBS6kDwR?!uZxv*1NVKI@zc%;8E1)TKfH?4PU*#SN@RsM6#Q9X zs%O<846fa2^PNgus7q+{wK4nHW`X%(ejamK*4pBCoD#gFQCNT@5*M;9)WI$MNg?|1Xh^0O}U zr3*;H$&nYF=#_KlpU=*@DNLPke|*iwdVcsmrXpdYBNVv`+zg4g`Ia@0Ltj6~{+c>s zNmYN1p~1C5#amlk`l^qdnXY0od|rPAIU#^W6koPpn`SI%?KdiWQ(s7z^_l@C z(IliZrA>iMc;9@3q?OYdFwaLMf2kDXr5L$weQ08%)SaKKP#_WC_s@SyqzpIiK$$GH z9N+vJVg2@74Ld?Jnpk3Uw-=8}?F$Ev;=c2nrz)PwBE)27iz5z7&!D~eGZfCA@0}pv z0H-Tcy++HZ9Ky1E^_6iBVpi!HXFN_5cI9*?cGBN`C zzAagU&7AUNEB#B;jtfekmzncNln~QP|I4lrN39M~zH)F6ixWKhocN6v-Q(uX@^nt( z-w`5lr)m07QHpx=u+pG$DPfx*``TxnHv<6^x$vx4kZ(t;Kg2D_0vBgL`NCS4?OmQT z0{{MsIB8U$Ja_AKlFoiHRqYurE>ZWYAo|#6aB-8rUF#Z$N*0NFSxlRrq)_ga(zbh~J6o0zcv)eThR+?iUi!9@$1$ifJR(YLP!Y`vw=gJ()6+0>_P|O( zN7v#rQwF$%S~F#o^Jn6Rpxk5t6TYNr_g+RiP2*{Q+r07YtM9+JYz_4kQD2E>%kXUn z8f;XtrJG~#vHslBV`0%x!Dh=(eX4luW%-8?OU5Mdxl&=iU~Hu(1otQQ4eRXwcCDb& z-h;2zK<~@q`es2P%zDlk{2@IVN^0t>l*;=0`bvuTJ7sg1&Kp7`6>P+wSfh&h`yy4; zJo1_$fK{LFdp;MXYcG(;_*wu8n@zuwI}&%1VyEFJx^zCUVyKCYg`5 z_CqREaP3RPWsR!>*T93!=YYhLk(TS7B+)^9yalv+BhDXPO2waBF(^+zqw74?a(h~E}G!>&q%F`O}|wHaXY7gy{7NRJT!SWd4nYx)oe3qYf%4H|ENDp z&Mtztd0`3Dd8fbC-xtc^w)W#1PXe!Om}*PE(pnmR)By!m{n4krlp0aCU;N2Ubxdm& zoMG$ZCiN34p|70O)k*lCt@@<^@7F%32(baT*z<}*70k|$#4l82rW`EMAUUtQA|FOe zFZW}$F^D4BVC0GKz_CxAF`r8xR7qXDDjgH=eK_=G$2%c%@Jr)c*a2Y0Fk=a9s{)m|S*WWD)(I=$;U6%$GBQUt+A& z-SXpk?41Ck43Sqb=dyGI8K`1wI6-sy&(6Nb+p!<*$+!;BL427A?ohXd*X_9ivnlM3 zcE(a8XD*G)2ah+1&B2GK6D+ckR&_YgpC%qUmrFuP-;BJgp3_b0<6klahyK}fxP`8} z!_Sr*Un{)yrN>Ny;qzZpKI$HC#Cfu3+Yn^x9L*zBDIK++zqPAG2m8?Rj@i54+vh7W zzX=G;2Jr_f{4vlc8$(hkHZl4zK5v@)(71Sb7<$!mpCq-|sLiD63`FZRDDXL>@17dw zv66%gESz!f+fREP=Nm(|!g7@;9Rlg7b;k~_)R~98yGAjjV8=$uc>|@!sIgG!Db+1& z#48)}QPQr>UW~2ZD)$0zz8qF)`ZBhPv(mNhZ+Po=&||8XeQ7Lhjk_Ti9at+1@(MW9+3Q@H|pTyYm|o6uhE zdhhmcw_VeU&m(wl^L5_5`32GXwZ5)Ov^!xdN~YNq)3RrEt`EL)WckwV-d}!Zh?^ z8Tq{a%&@LGHB{u&i=A5m&%RClkMrF@{D!|IMH`zwDfq+QgO1vEot)c|w>a4(k2YOX zvrnu2a(B|gvh=6=Na%VSct5@_Z9m0irI`Z+FDE9iX$G%Cm#Yx6&hj4xFaiY@&qHmK`EENV4)%$TeNDeWrWQ;L zN)OXdRF>oL>-c0=0I0tNlL@Ow)*^Rl_m|Q$YN=w5u$N{cgRD$>vJ7S_sx2%z8sc80 zT|2or`j3a89gx=gPgfJZ9Q__Fa(Xl1k& zyL6!;3)@_^Iy(_hvVS|d@cqtI-t^ZL9X99jn$RKp$=s2U5iV}@@2V-KCtOcDlnmT# z%Q%=p0ujxRUnmN`7+te6=E=UEIuQFD`sErVx6zGQZXQ`*dE@;Rau3Z+u-uhPuUe13 z^^7!?3SjbiC(+Jmke}iSPdEML6LyJqHiBgQk zU%c-~+N$z#+qDG$nVU0c2A>BwrQTEE2?dS*D3MFZIw_Q_?_EnWdRkfEPnx7nwec?8 zSfi!==g{PQKlm0?=e8gaU8i-?13r*o-oR8k##!(Xjji?TS-u=D1e;8lrKDZ`yHEDz zs7?RInumx&$jcdS!2Tac&mb&~t3tF`5C^i%!dA}1^7~5x!55B~!*TIHS#5rq>!|fl zZa}{_<0ZM;P#cFC<sLp@s3CRxDtJD>5+r?{p&6=Q?`?fH|RUJ#MidKWMzmvMg1=RjC>6pWf$BPm)8_+s#UYLm3N@ThDaCVY;ba` zZ7-rFc?NgiYmU}E>#lhES6R;Cc1c(3X)$g|+jp#Vm*+Zs!lWgP%8xN+Fk9{-YebTwlt?_Mw+VXK2O&l{d85)>J?UOk*V-vuDOfGb0EkM=ovrf>1Q6C z4BCK?{W%bb4VUo2=MfOFJDd!KG?|xRVW=fn(qR~EoehC0^D7=HCgzG6k=o_uR{An- zQUY64oe&{T&ckXHDYM^)piA-lM*xNk?%qFFhdAzzXp}G$a6Y-}?=H9b`FfyvN9e|T z6}mKI2dtU4|3ROtDUM}lSS$vbAUgt%8}R0K1CCxvfOKvI%^B$_HDbW>k*=}CDvu$> zN*w)MvS4M7Sh%YV&gz|hS;4+=Xk#Ba|o?ZnV4;WJVY; znQzLmdBvQ@BIElo#F;qevTRmcfdOJ)btDjxK8`>7p|dNEyOCzOoH%1-AkmiN2*B{e zqcMt!{WzLK2r*ryjno#br7tv>=%DxM?Y4ZOwXJm!3S<5$ML2;Ya6L4q+JC}zR$y+! zHP!8P3(cT|kd4FOjoVOz2Th1Rt*y1f{uc+&CLq2hwLt%SCUEQB z1?v47=wk3l8EaAXdGOd}7j&^{9Js+9u@qJY_BdOAG$4OhXPWTslMYP~Nw`#21>(z# zMtb_EUX#r^E&&@VTPf87=O0N8{ZAz2hN(m(O1Fqe@Zbq&z*KG zVJJ~B3YnBV6m>NF(EkkTCdD?o(n-axA854o$#jD@8NHl7E5q@RV=G?Fp)-9X#mOg? z)4omuHOd_%nqk+5l(=wlUmXR`sNqe1oPV|^qkeB8ObAI{%gH2@f5)&!Q&Ts5OCH~< zxPA97q0lUQpqP5yZ*<0N{$XSP73{HZ5F`1WpO3YIL7`x!5AOBmL^dSSUFdcz!;wF; z7;B+I6aa7$PyULf(h?8E&;!cjjC11$j?@0p3gbiQbWv|bp~bpc`apc?B=t@^`FSdo z$JW`GK!Z8_{mV`UG;KD7{d>aar&D0@=k$7a<)z&HFI3L1g-__#J3LO1mYwsrVz|nx zY4fWJO8szVF!?-DHKIC2&+Jt&!easKsC5H$#2{b+nS&kzWiTrWf3tC4<0<6%jb3nb zOUpv1IQETCq=H9k`p5)I(QKnaYW{5<_V`oMJd(8!yQhj4Q+SyqqeSdfsq!ll!^zcHWOpp7-HtNBf);PiPi^o}2{!Z>W!r|j)v`v>lj zH>ot-Loz9$W&v4j@U`4=<2-yWy6V+TpH%A^@(OC0J5F=uu*Sc~Z!)YTx_2D)KJx%( z+jX$hlQQ-0ErsN>s>Wg%5q!XF4?Ty|At-(-MtULIdMiAwPf|~Bh}ac(u~aJMTsLJW zhYThT9{IumORczfRBCIxA>K-}V^bmbpQGM}XxKaml0%j14?If&u$8R>wb%rttv8w93 z+~1xRBr2fKXUpYvo%(V9@?ig1PW18J@Q#p3ERH>6RAg&tMl8Eyuco2WUT&lXr<{6G>(uRfKM6x_ooBnc5Hjc$PQ#Rp z-Z`FxwL{Tq-nN;=%3wA%Z{#P-U?fueq{YcP64je*=6nnzdcSP8^i2SKe@wQ(JIvaQ zcb5RRm3C=Y(Bg+pao=%f zkLZYWL3+^M?mtY=)!Chp5>SwJZtUz%iR*0E&WimH$q@5 zJK!yDq}k3B#_zv*$mj8Or?;5y4pk3Ye{cC*l+KyJ z^LY&qNwRjxcQ)#=e`w6Vg95e$(!D8{vA ze0|ep8!|)Jw#UYVINtZy#+|p{hgnWruX7&fhM8xM$StF-cM%Q)Aa|Va1FwdotYn@i z*}PyKYOt>>voFJb>_7G3s;zixgYDZn+1U@BI<(q#{mqN-7zrM=>iG?wC2e@);r#~9 z*9CO5T|ijwT||v{+iCSG1&E;E@1+LT?Nk|Gssp9Ny+;aD4>pIdvb}KzzpoZE8lftb zJY=jAGQR;MoSbcY%`MdRhQpo^2Fm!?x~0t$R&X0&Z=c_9^%#(U80b}}zCL2PXkYa( zg0@6+d}h;{-$gK6YA33T=hm;A)f~o&{mtHCl#;SWM%(X2ZW$TKO~NvuM|I(;mA~8( z>Zw`ezT8TuyF2l2a3#dBBU&D^WLdppxumBVTN$z-Xp~x9xV}))nO|7wgVgtF;kx$1 z*gk;m=B=a`~(M)%iqQQ$L@Rsx%tXT_K(Zi`|AJ8 z<$(Q%%kfr1)9U<87rYx)lh;&+YjYPSA&yZt{I&eefQl*NCa|EWf2x8GzE@&t*ijkX zp|QGdb1F&1O_&+29!a+d9)nN|zeizdYxtLzbYKViyly7FN{qOxa&}cOFvqWCR(b&j z@#o>Dj}`V6RsUzhG_hk zOHg%Nkt(%VDizT4aLXUlirQNF zX9%>yaKa=Lp(1|~9uCEOT+zacxT4HNR$%4ggG0{ zRr1j-fD!Vbn)PuAO2D{l1y<>cXmK}`1)xQd7FQ+QHVc#$XW8gxcp2}7- zQB3V3_u{Q*RtVZ9PLStA!I^mwL^#%Q=4v`!6iW#OX&eZY^$Ykv!t2GcSnEx+iKMJX zOaU=BqZKdMcztO51RLe_WBADhs>eyeT=1%11i+n?EVUUP!SrDxpv1PiG3 zasdTEQBTNf@5yg4kucv6Y~SkA!HdZ=bBP3Q3W@7+lzG@5wPHl~iZUTj9P9$9g4>%p zH>A?mYO#kJp)M0w35)v&OW%Xd@OF5Zo)7H0sliL-LF4+@zX%YSIwCL{VpkwRQK@bN zOQA|ZooCqmG9$`SAm`n#vE?e&=2+`Qqn9VlK;8Tm3zeH53*^{E%3uP;8M|HbnL@#A zYT=`df?U-ocVkwTq~v6*s$Yts-710k+tcBeR{Xdou+&)#Pz86fU-M9|xH|*c%o&=? zl+F9SEcH9dE=tmVgB;2Hgrs-U21H zD%|U&8boO&LZxrMq?>5#y!*Of-baN!{?kbmOw!XwmcBA=80kjCuKw_Lt^}PEry9|# z-DlY_EUO`J4|eh_7C<(QKmnTP!%0$U`tv3BH!<9f)rgHN#F2ptT|qZsv)LfD>5uY*ye%$`F9wZdW) zr*%{&eAix~S~6cVqo*pMO}kp_5hpEnXGewp;T2pf(E*6o$pM?_{YE&bC;?sB%iRS%#dFr*Rt zpCx~n33SL^d=gpamDVUrXbuBw``Zkg6yUeAH$ zKiX!WK&=a~q=9=4$`;3}ns@>cbZe<74DO77ic4m$6lbsCGNeQ(28Ntv_(|LnsapNkAsh`7%DryI}5sGYsr{kZP?!}+cFJ9)* z6&1=@D2!HFbM|-QEao| z*jLup#t!oz;Ta{LA0%Q&qOeQyn?FZ8t6pnG35E=>-6ilga2f;6{Msq3KE24Zgt~lE zA;4tgjPu)YiAg*U`M% zNwQy}#AnH>oumxX)BBw=1R`hmh?Gxe-%xTsrd@jN>wgEgMx)f#tO^KwOkq5q?~7lV zDCsn*WK>q*=bHr{)8Q4}4bA?gJGS_(%OJVb1mw?lh^0l9EPf&LhsRT<<L8G)&(W-xc@ycl^TgHym$^DH!qsT74zq6P?0TmVMwKST@han zd%fBQpZ~=hy_z0xkK&y8`axJq5qAbw-Sr>$dp{X+rzZ=vp%4kQ%XV}hfJ;M|svyW& z__9ENu~g@I0dv>LGHh1CQ(58X+6PaJ^?Q9zZm;p*RCiFDpq8V_p*-tzuQN6Vb^gf6 z-Y|S~#_bd4LA|~~CEygutWNVArg5lI=%jbquz#+92@(3<;BuMV0IEpkE+Ib-=ak4m zzS2qbM+-waOL6Z=aX8&hh0p_1BARAPbQG?vNgyABl@T_)g%^<~XT|;Oev4Sc0>3WZ zfd8E3RKZ{S#%Y~LkQDBsmdMj-66tnoTndceAGblNr3$t0g>|rWREX zIj5njs(sZ{lkl+p{uAw5`Btg3L5y^f#t(Y3Jzr=Ru|;NiF3NI*nfUZ0PXHwnVk|B~ zx%HN)`#^bFg8+_kC$-_S(C>uKT9B2%+|Slwk1Ktk`c^rHnK)iq^}UB8fU~R6*Cd$I zJu;z)6_wDLgWrDjAY6SdgF1zkQIpK?Dl6UDS#3AgBiy?GN2wTX=KC?rBWmrY=EYMAX%8E)Lyp<({>J`9=WetT51z%CZ zpK}()waAdZXqgE=YLzVyoVepCA(xXqOf$&fuMnnp7*)^H6>a{>E*s&bd&mb8R@vSF zQ0=gOjmVVo3lAfj9pwL+dW|fX(k>FJOVjO!^x@bba+xe_N+5SfY4*+XrL-~qxEm0_ zp(QQEdo^i_GNIKE^q9*wI0&6rmGat($cfeUtSa_ z_J~}BB+jkv{`I$flg)}6ns2fI-;F`}IJes_U6&-SLWt{3iu8cBTLV4m*%?0^llsRi zy&5Ofojl9e;>(W=<21U_iKMu`A3w=a8FE~?I6z1G zaLWUo`}mo>$j#&&T|G><+<6x25?6RO>f(!Pk$6ld+N=~)WLnts9o)hv2M(kl6{KfL z|MCw2OgVYJA~K`s51TB+&{c8HG_p~Uap)%Hph$a}PN?s>Uc#(pY3Ok`6C=o)jr7py zL+&$QBkA?cinrMoz=EI z_1r`sE%zs!lw`Py`RVUQGhnGt;^0G$-ztUaxW`0adk3+LEd++zrn!!{{#?w6OsQ!E zhY1c$_jjWb1}=E}hX)@tZCs!I!w2MVnCgSa1|;FNLT$YHp&bbM&ZKLHFO+7TSB z|DYR)`GT!3J12Y)2&%|#;=168wI_zUX|nmLvG*ru%lX}b!s&Emx4Tn$yzeIw=5C0rkkq)7Ifv6NmiE*=L5 zt)FdMsAa>GID`zU&#pCD8s7ZbH><-TEEXIp>$RaH(044foZ7EcgA4F zu-LJZb5z3i8wThSIljy&?Z7d#q7XP$1hM``1cuy}U7(!zlUl*qojm$5lhp+EJonpV zsd(agsq>qooqJ2`HV41YOZ+b*Q{YZc0~}fj5n5jjMQ9g$^fY0~G-_RX_=6(iZqBzk z;|JtzmT9w;*GQ9eLCkuz%5#iej(ExTCL>KX-GJqkXah=(F<%xJF-kgM;kcaU88K`_D zBpFu$vU|y+Vg$FksdM2=LM8jTUV{KP)Q7CX;e_p5t(pA$3f1dT;|pP%zY_QXuV9=* zd78KC+^z_2xm_Zc*@1)SspK^^#10L34v6r7#}C<@@$&fkPtynHE2ZB4Ak_Xd!&Oyd zMS4*I^7|?db|uVQFUdt^H1EtOGZ)*N&(rgweeZL2!QI)nq$~d&=x`0MpvM;M`RYf= z3)*jhHahZ4lxA#}L^$CqKPWCe7_m@}lCxaC5K17eiWQtO2dwg3t?sX7{PLTz3Uh=> zeGj_P3^ml;pXDB5NWwpmfM}U)9ryx!&ba{(wM-Qzu}@kSAjnv|FFt6Z^SkjSlk?*z z-G{g_OEZOJx*9?6_XHppO29!OVEyC0$izN0x34G*(`-W= zRi}E`yhQumB#|?`K~Vn$oW5ZPJeG_Y1z0oMvd*2)0hHY!T7qXkB$#e~%uL|yrP2== zUWIGgcjUcnErDC?2^ zA1t>3bq~}!m|b7VZl?jMW5^(JGvy^QsH6Sn@GzB|$}{(rBlAkCPSb^$HX@*1*cR$J}j z8;|$={2!;Bxigb88-F{ogkO_|EAD>z^S#S3b~^NEp@JGRWWoc8OS|qw8s`LrJp8Fb znotN;ext0k&|SiNBXWM?DKiB0ZqTkd!Ut8u{%-h)D?9DUN)y1A*9l>hAN5De465&ed38*LU z7DOL#MQ)I`Vyu={Q}`Kvt*tXmxO;F!9f;K-{zWN{5+Pp2BOYd9j>EbMvv;{Gzoozr z3fqjuQn+2g0z3r18C72w!yY-fqV$cH?-lmM91|T>we{Jg#HHFvaMBdqkDuaG>0PaG zJu;?Gf1Gc8cKLd5^ zk((TfHa;ru=683C>!;i5SMrc8M+hnHQa)&SZ`0_sK1d4 z_2{Hg#zc4{{~T7J9V1`fZNki!K34ai#{TeH7gKx~UUpt_?BB9e$>001TX7|!BZ=-K zA9WCKk&GK1HS09R@rYUaX{Oskfn)WnjTpiZi?K{}aNrs(DEvVHjDWFTXWvlIav^5s zH#SKZ*4T@wtNwA^jHjptqyEJO(Z@q#$Jxs8OR||xuiLwa@#y+ahuW>obY)*)y$2M z*vG(w-x(HKRn2lFvFqXC5}HM5pWi*@(i{mCmjS3I3tS*~^kZUVZk+3Fj573;8iS&* zluu_-Q`8vbdqkzx|k=oN+DZJYoDQnsM-Jz|INsJ3Csxc1u2 z23kvT=6sE!JYKz<1v7v8tQ!qeuW9Nl&hUv9a8^QUwH$uLn3fq|Ggj+hnIv1p?4O{h zihGjfTR+fCNfw#%V&4||oyiR6`V+46t6YzdOTw3`+l`%5E2d;9fSe^ScBCdr0FU{I zdY7I79zQ?N>NYsf*u$fp&p*45ow%X?zVNzV9^V^mfcnPEvv?|LB_Zo6rDEj#!V zU_q-ZxWRsn{j*o~J3zXSsmoytR^LO!-Rfu&@%Dy{Rsa<&0hR z{w=k$tJ8)&x7*q|=5LR48a7?E8&~5FQL*QT=Qvk_XoiABLNpu=mxhJB-BKpZ0}i1N z%$x#8CVmxxEH^PX8D9E6OOF{?xIiYJ;HS*3L0zlb%izy7sOg*o8>axh$BaL%Pe5Hw0S9 zsD7OI1%?w|`edq=<6!*ZP|A(l(xR@|s?;zpJ)D95HpF|Wj_V<>OttLF0@Tg!GHQo{ zQe7dbTk5pnpcrHIzNSa5Ov|>d2TRZztZ4Ge)%tbxoE!n$nD(aV`Cc~dIQm-^sGH5! zpQcSD&Id{f?~=Lq`dKW{T-6j+t0RT->W`{t9giIM?am6&(T-`eZqsuwLxP4ruY0R0 z0T!p#`yQYiqMjRBi-(z=ou#FpofoWpJXK3cyz(OCtq~9ev1BE%$N*b^rGq65rBr8-(B)#g}qAY-W6#r+eRBVG3otRoQ;`B z?>q*yiEcV>D_3;|6|aC=Y&lmCEX%yxsoKU6U^Fy1AMZJbUpcT^c0UZw5g;iaYoo)` z<0Gl;CIiq&ZUb(<*Uj=W)5UJ19YVTM&Uv2IdItx;$9viDbXRcerWt*%4l~BMe_9c= z@ap?MPJ9@PSv=lsS2XAka!&_3#f}(e%?x@3&K>NZwS=>Ufg*+ATv*rg7g!QpKal)H zldt_sum+3)|Kc1h2s(?)T^{-E(-p&}mt1OOR?oQe%Zby(r9;0-H%N?&KSqw3(rbF* z5>LQ~`w!{~tT^6s^4u0qoz%?Y{YvM6bGtNchr%J$>qLmZ^VVx4ZpKRI4rkmt?&LM} zHu7hObP-@FN=G4;BGpQv($p_a;WO3?0ODpDcgU;Drr>DI{E>~r(E!~c9XP{(=+=hQ zljrPu34eXPa@*>j5Vw*jxPt=cc#YQF@qN4)^SPvKjsK9T54|d0zj<@-?2CV`55Z&Wg-jC4=|}MfAt2k8wNG~14A%h~*=&+9Q^dI)Wu11aFM`eHa*)5K(#i|A>AqZ;-7htwmjaHti@+`@q@ zyElgfSBvJKxoyHbNJVIcU~GQa*(vWw z#8lzxhm+|6YMKW^5+g3gx~jeSwd0*q3L9y4G@28?>90$V-{&$T#~8IPgd zj`C;@C7~+`^5-uHth_zNVtN104xp|a@g_FCSs6M+=@1~&ei~3aHFiQ^7JqDi_+rTn z{MPS=7=8YXgY0?eA9vO6sP3?`b=m&4zA!b{GEivClTDyORm+b09=uF6)2Is%?&F$e z=fa}@xme1z{%nR7;^vSO@5_0Fjne@@I^{ELB#4#$U0=JMZ=gNgBId%OX}(Z3J2do^ zlCEu{kasYw*(5Bq?C97Wulc}YW1^dLKZ$5~RICK7*N?&NgI|AcKK|GSSm~=s_*p93 z9Weq!8K{~65nt?DDY%UE??dl@s(+I-5KPdb4V}B-Tl*JXc`#icFcNTH@q=2tpF^Sw zis0fgwE!ln+2lto4tlI_l$~yO7CEAam^7d!c>*;#jiF|Il=g*TRT6^GONhTwOMPO# z2>$QX*Hdy!>3^v&Hmv_rUu0kXf2l9<|4?5#0KC;sNWs6soG^85UDayec)CRyTQb3QG+Z6rULgG;K1EYu4(y~qbg zSK$_AEhkY6*T)S709L_03;+@es)b>1jisk^(Wqzx2D;Py5EofRh81-oY^es8R0O8} z_tYYLQk&|jq_G1WRe?f;^BDe$bA_6rRAD&RPG{g$029(5hwvD}j0pTOIaMA6JfI?0 zrJMH^h7?ZwN{2C<*d=TcNUl@w%M|Dp^D$61l1%OU5d`m{?1($>irTTf9<42{YIRVC z6*{!3jopQLc{Zam-0+)nZM>^X+(RDnds0C9-5!SLg@JCyF1I)9ze&z0eqFb8C2vn2 z9E0G(yQ*4(VG^(6AVMsOU_pPQta5)n$#GT_?=RB+tQP{%O5S0cHr3>

Ep)T?1z_ATsSTeYf!w=9wd3Gc4k^%Bg*HV+UfbE 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 z zaoh>CaSttUAFRNt=e$*$T zp$I3eV890$1HBq%P$A=&-U*>pmnzkgQ7u=&Kmtx%EoRWN**&1|-j(Wzg_kUxJfkx< zvop$Ry@5D(E)*tJTv49Hrtad!+G9cPnT1JSu$ zvRDsRA8fTl`Szv_oB3i$1>1ZaEjq2aLr#vCpH?j!=74NMfV)qSy0=@XgTM}PYw|#U zVb`%^18Kd4ot1BH2!;HdG4hTiYL>0YqY(gn5UkX4#q&WT@lb96?_1K1w^I6BeWP=` zngH_i&S{mr9U4GR(<~^x&~uv47|kKD32Bhop3<5L$C)!*K}|2rrhFY2h-?Kiy4*9r zy^`jYeqXzG9o4*I<_eq46xcG`SH;*}?qW=Q`K&(fd!t$T9tU}O%`~k8geXw+FSi{T z94!IeAR^z!xo)aO0xgXp=(Tt>LP&>9{}=J_O0@<&JjLfvj20|sWXYZo4wM}PL0`b3 z5RL{*1>?;(Wl^JJl9?tAWm!mg8H3Oq7)>7-3GR`7Oj=T=SAWhpKzhBw9k=)}PV+?x2A24vM z2qC9F1!)h1S$BT5DfSN0tBw^lM(&P+>^Pb}blhZFAwM9^klmTCK~u9Wb1Z?MGtR@2 zrJLybYmD;)I0k8jqL2YiAdTaoV3fHF#mE^WhjI`9XxAf89DqSaze;i5**+tZ{j;V@ zti|8tnO^7)emG`+Gz7!NqCQ3*5_g;#^*kzIbhRenSu9d^7+qdqQ%95O#Z$z=zCw&? z5%QEM>Q5^q@ycZ)ysZ3b%$3F9oT)20gyucvnk;EYl7c${ZQC2ivExK4HTGRNP}ish z25#fwgk{Ak`AA?h&ckUV)EF>$I7H7^Mh8n9UpVs5KYDH3)^1y0`=TGc^1ofW=$1w{ z3-IQU2jrYC8)kN+OJ)rNK}RBE@j|2iWB|qmc1P#g>VD5z{4TK7+yfm8&k`HwW$iSI zi!5kw2jWg7W;6 zJRHJot<^#6n__TGt*~$^%_~RPJ2%bTzrEX>l2WaS zWDS$WMcQ~EXvV%2Rb17>{h*O#YJ-Lj08=(R3@o7Osb|gYoQ8!oq~pw!vRz;+1&{#F z=hm#T>@MnFK8^46Mz!iq;<7nPCGdQJ?HC-@!hYc4K~ArLSu7k-^>Aus6U$=RriH0w zO&er%0odM8*bo37PTL*xn@KH~jr+2My4umv0e#(^n4X)tYtNyb+5UZObhNQKABq-y z?I1@{S{qoAuf{?Z8QEk!rs=7j!6(pk*r*g!<$*#iI0Stasb&N5SXalC`5lYT2?X0@ zd;AwqZC#Hu?h9#NE{BIhSV2tV(-Ix}$xh(&Y#uYNy~Y$6U5ADW znVhX^bu1FBn(|unakj}VY{soG(8FN_0N!M6^K1}oLOXLs6r{i|n*lDOY~bOQQuVyE zW65N4YD>HtX{?k7jYGGWGy5B7f4$ncipt-BqRt6x(X!S>mHER1sRR2C{62Mf*q0n_ z?JBm0Oa2fb&2rT!t0F58h9jVz!Dl0oF29{oK$oqN2~-Rn%=g?#LoJi2`Et!M?0Lla z+@++BIpSKhr(U@&CuOTuksf~FK}1>xD)^$R%T_EBb-zy_xHX|h1{mE)akiT~l{Qo= z9m|%bz-~0jQR6mPAQAw94HyGiqdFGw0oV@8mOLDUec9BcfUF$?n{ghlo)`%GXU;^^ zYot_-N0>jie)QPEk>S?rAAa1vY(w+(%X|r31*w5I^s@p-ZD?(8IV)SrCkNilrjCzf zhjQ#7K6bNk!uy)4wQ?a}D9eBvpvy31?vKYXyKPEra%{?^rpA_r*lfyKmUK-1GWuk^ z4D=WUmb^V^z`!5+&i83@wrN)ta8bl)%PrU61gaSwGj55hlfaw)q2~0g@dji6P!h`n z0uLvF%}5XDkVQgHy-fA1NP*3m)98|VxVr&amrN3$)D`LKvc^q*q~Bkz__HvS0;79& z4)yGt_n}=z!<|Ipq$NS`BjmXp@OA*HTm<>62dg88hmImzx#NsGGSsll*=Nng(;G31 zBox#_ktXs4OLQr^0~>_#lqs!n7kRr0fUVF^-(c#Q=hsCUu5T(Bcv>twD7=fd0SEjm@H zR8;JPp8b2Yua6fv;}wT_Iw@?^Pi5@o?mprB0e9FL{PCKnUMSMtUFrq~Ot+|MG%m^N(AaA+7AZXUa1 zy`x@IFS9RvT(E8HwyD?*j~}0nbMwiaisE#UI?_>?r{9&g-@SorCr*k4z~};SLuFqu z;*(xd(9TE?=Q zqgG8e#_<#O)bzgmaR0QXH(7OnjUEB(x=HJ2r4d%mBV6V~RZCiRxLUpV5=RBhFssdsGOe_RXuvtcw) zK@TUR3-AMh9k1GR^D4p_E-Y+CLQ?=6$U2iVq~pxf=u&w&d@jE*E)%)bET`;X zydhr8XjfHv^+MV?9@r)<$z;!+cYJBr>$_x3llBV_nvP2hbBt-_mJUZz2D?wa9{dU^ zi|@)F+_ILA@hq6M`zXE@@o?)IxgK7Mutp`)6%6>@+8GaX)j)g4Yz4!Xtq_a`@+mP7 zNcvK=h5+GRDOH;~!&6!Wgc!i)Mwjjq*lHuBLt)(?ws#2t44lTtsoB@S{6V|rg{+*_ z0%^}kmkn$wtzUTV1&K8Iz;Rm#JzT6C&=!~L zL^#F|)q>ceWW4R?@~vv)mMIW%aS#|5xCB3+8(%pzrn(N(g4C4ns| zoAF2&;Vm6!@cDtWqE%jj7PX#ozdrDvz^*+yRI6*R`~4g%LAz0bx~$gabC&`ruu2}u z+6XuzR>dqr=8w;fhLKM==5*BsTX<2@=mw|x^?a28 z7B0j zK-Ph;?1SU~p$7AS>r@R8N4X$mLV&Tgc2_n(#8U}Z0v6Ro3~ zeZ4Ox>Y#}QzS8D8$c!)58*iJj>)0q5UBJT&)vCr7G$3og={O78dH88@oQVz%`zLip zI;IE`#B}4r7CuV+l7~BVa^}Uut5wd6B?Y6j_Tu3<8j2{efu@1DVY_OZnE*UIm1zZm z9h!PAJCPI!Mq9-ds!^)3 zw3!M)=io#WjyK)qth3I}6e`D(1)Wd0ibsL~UMvy>0Zam$TF_+aMA_k@we4uCvfThOWJiXZS^ZDWyHg21lv_JFuH~Z8?=_$ z>dvMn??{&mYz^14Uv&N=5%bV^tzn(#An~;V;E=ZV7OQ;xm~EW8D%?+^o9l8C5$kCV zZ8`;il#8Cp=zVhgNK8_2FgBXL5v(*m|j>qP#$^B^A)AQ2BrWV^h0P61t0r z<7Yu&uZ%-5x)>MO<6_}_Jdu)}=m0L=`_}&6-hO7POH@XOi2I^t7q{7Rhn-##6=QSK zfUV>tGb@s&(_*Dg^;}9&0#c?GdgF2JzI*PanMd7+aSe=grA(17)p15fmpg!6;XNgd zE_V=xiluExL%>xL5)N zp%TlhCB}_p*Do)O(>+Pv<4T?UFsgh@Q~Qth_1*s0p9d8I?R%|7vXVW0qrk%(LV-w} z!dx~zoCG$o@v_0lOIpiTC1pFjq|7W0?3tP(GtQW)htD~?u`vcn$B9*r9NyrMSB+!d zjx*xngfx&fsLc(Hqs~4Un}_3oC|ahM!Boc?v{Z2t2<+yTIIFR8d8`E~TwoIddK!rP zhyV1*d5=9z)3SLli-Ksdy=37$-CQ4;S(UO*q?tJ|$htYwfNr9z6ZG%CK42%Td+UzB z|IW7=kEVj*M+JJMKK@E~da_ZAC?%vo4<|3F%vLBA&9X9}c`1%FCK5>neXH6TA?@in zqZX*5?n_xn+dKF6=e2u@HhX}?eO>F`nB7(Yp9XEjVvrql%kssrzB7(+r30}bCmg{d?dfD=h#Ow;I z>^@Wh9^Tp*h%0kdJ&i7hge#Gp#8=Je>SfV00DoHZlSW+v-h) zhvO5v9cNN`@KNl`OFOF?D6l~l2h=Mz9u6vA|KPM%zUHYqfp3B>$gJub3DY9Rub`g~ z4y162A0F%??JS+{Np#F+yrQ@oKw*lHOfK1miZ^K29kcn0Blwk+Z91Olmt?J=U$W*C?%Todqc(3`{Yc@pV~7+n_F9?kS{ z5t#F5%%U`6{!^N8b?VzH%#@CpP6E=&WKT!OY#1eCOn|Ss^9vUMYkCmd3R z!m*4;?NHjut@=FI1~>1}2tIrWeMm{*pagff`uYxtgV&5f5-U z&a6S88*axLGqp2voRQJR^zC4D6^4++Q6p3IaMkD{$_CX8@D_TwLtyjU*6n-{*fs7^ zaSdA4=sHmzULR~ZqlY_CX?Cthjel#&Jx%p$3JGweIZFm6` zF%OtmUBS$P0P046UfcyJn~C!GR$!dL4^?23;|z^1PYatHT|plbH=ypf@o+M_KwzH)5BCDw zd_q~)&V;pKF7BgSPBaO&l+(NsH3JXm?(3h|)d`=Vi*0o21?-~bN?qYDH!@Nl_v z+(_4$V4F>?C@xpyGlzq2_jNN-eUKVoeE=w1$BOHnk{@i|^y=MTz6%Jtt-YnUw;#;t z8?OE29pCuMysmQuv=ks=W;Fob(%Di!&p7j((-pLbywsT=asr>q!EezvrGAEl+2rA1WrZ6t^VKP^osljk$l4w00&4d09t-3goL#uLY?16XUMm=&DU({bjAbWuacnGJZm$24HmUIwl-vlp-$laPCV1Eo>mmmBHibLx+ml(bDKB_VxaKxlk+Kmk6|} z4STk|fz`U2J9uf!p-Kf~*aeTI1C@uz=QJ)^fP+jLU3fq)B$2L^0;=7`?0G3R>{Tym zy=J-03T~qdct$RzwYKFW?dLL6J4>8Ehzpjp#Wt4wZFIp zgtRK5ag9eua-%sfT$+DEJF76Na3be)fxr#~{l|~yjbvtTx*X3Idxt7u76X>Ra;Hs2 zEHAov5@=P)V<{{$%0@S*_lT;K@uN}Mdl|$N6cB1Di3FztbvEm?Fdt}n2auc z;6FiNGp>hYa5GdTq*X5|HQ^;~8F2QaFuItx(Z#rh?Jr~S19-T7_HnhO4HcSO+h(zo zvanrXyErnEH4kTtgaaOIP6&ij0%=oIBWl)VXfmDJ_|k@lA9#?oZiY*QT>u0PQe28> z$4xDBU&)C(G+b;o%d*Exwf&n84dmJAU@6=f_`q4wMHf%HmWP?!+9Q-z&rEqXbsBC= zokjtSN${D^M*@M^zI|E1{>?qvmv&`<=-cKuOC~QJXCcj(A1*9fJe8S7S8V{7$#C#+ z_=-6Tb-bjsjYgNBvOlHKH3mo}Bx|qK6f(LpEq@+S=Kf63OX>x-s{tFIY($6DJ(yUM zR=;Dpd2VF^OG)y;1_hzNb@Key`a7Q>RUf|^G&xS-&T~baq|&3?jF*@e*cJZ zJf#-~ihDRwUb-~4U}1bpOPReh6YR*T)GqwyX3Oc;6QQRZ;!vV zcLcb?FlhRX0WBvSXZmQRu`#%KahzBsW}FqaR7-ID=PH~JcL*)-CCx@YWb$}kZygBw3Rb?43u z$ot;yBY?De*!dTrI0SA17dMP-IkT53lRsGf)Reky3?9x*feoJlQ(CLfTx=K~YyhLn z7oH+t^Ms79alqzPQwsJlJCm6t2{ZIa8$it+iI#32ypl*W?)wzRm0EO5S2XZ3+x)X8 zef5r+EYz$lSrl`9Eo7u?49A)K`Mn%xUQGyWPS%vIU>Df=VJuqckI!w0O+GoJYaFlzE|{x= zHh0(3b4>@TZfVY@oYpYmyq|TS*{B#7U{FRNzd-JS)P87I^ED~5t{~FT^bK(l* zICG>IS^#q%?j7kuUyAaO4j#^!$W|a8uKs35y3`qdC(6Ue0()v#S6e&ALSR((^z5hU z0b;=y%{FyokS86G)(xjXn-*>Q?oS^j)&j?i zlmno4(Ci3MCwJ`I*VcxKCDf;4#%1APV<>mLl#oK&9oD1=( zc(^TVxIG_iYMAliYA9Ac@kp22T(g;#QfM<5%%K&sp(Dt9O3`TeB&iHY-}CjmZ~yDh z13@#MlsIGV9I&r2q+y%Gl~%vlXnJB3gn;;fod)df1m4nhJJl%YNX!Q7A6OMU|MDeE zKC$}4K+sm9SAA2^=#%pSJOwthYiE@*#~3)a>LtY%_Q)ERjf^h8(<=^F%V&I}Q!RB2 z>$4so8W|ZmHL$G-vpDMK^B_5q?2jILaPRJJKo>MJ;@jIcZ2rtAucK^pN*}xNrq7~l zY~DGx1Y@^^o-oFzt+^_(Ire~Vap#wB8{}0i;a&dx(iK2DQr#_8wPGMF16%=z60WFb zRh~F(Q`VeDm)WGimg$AG?T@Hr4Llr-u0$Xk&7CKWu5@~2)~wmh&Ew41b+^E`zV$8Z zThPv08v~F3?0?hdU~=$aU(Y%77aZw7_Tu^te|PuSo_+p5OC@|RtWdmY{-;0lnOpwi zQ&XnR*3-#gFy?)?3Hj^Z!Db-W338A8>^aj0dyfnp?}wLyzurCFik{DBJmfvENcutQ)Q(ewwHzY*Wr7vpwU2!X_} z6awLWflNEdsyS90VF8|TW@K%tDV5Oiy&e8(ABc8dAz4~`d;7^1II)9`CDzhGxKNPk z+2oW-vrCo2wk=zMlLtegeQ)kt_nURkJ@YK=86C;M9)KD8<+2r*e&g@IdHJ7R6=X3u zU5ib|$MyU>(^`-PgBn6^q!WqGISc1)*|rsibt;w0@Xrcbu%f`)>8dK`19NTC4fOfpR34BO)fU28jriO+4He z&^VlpIH?>q{7opZadkZcUiOcH%h%LEH5ex{yu& zP&nESNE0WI@Frhk;>wz@RfOPq0m&B+=}>SivmqsX`YEj;P0(d6M~Hvz`T!_$SKA-_MBOHBs-Korl2 zF7(Ief^AKy3ev#Gl=NvoL&-Rpcv1N?qfzW! zYLW0RFu1V>oT+%yC(!z~?nBJT(@G?zOt&xdMm6(Rxb`|6*~(*F4XpzL>_DpsYx)xA zbbCI54>QlRflv%T{iT6}Mm%vmc~Dqrqv-_A;L6Tl0vZ{u_Mv+C@fHoS_V$U^)o?T? z*o3Zle-1MNNwH^VH`ViczDK~8FDrv=Voy5x_%EIUyrtilAm7>D4I(p>$&8MUQr83I z*om1p^1Z*&v_iC&uS5f2lw&m&Tq!01^jfW2QRk5qYWS*)rlfOPH|ZG9GP91|pCQg64^WHh?|QRedAcdyuS6QRP?+2i|o3(=V)DyY7{(8wqks#F#O6 z&J(}*HRJ2g0OWKA0iVwe6dJcT9nAr`fzR-;eEtrM znYqy7Nq9+R^J3%U_mH{qp2GFSUXa(;@8b@CtT1D?E3UYF)iqZVC#X~^`FvhN&Xkav zEMsV0b8?mq35&FGO0=AxUa#DpJ2wHgCr!fQYbQ<9)J_WQKl-L{IGTqh8_+lEEA~+i zR8B?g91%ISQZUBdgIUHGhg4;-qky3bwqtJQDI(3@2ivn*>s>J~HdbF$0il;lB{hV~ zywWJtL7-AF`RwXN@ZJaeZEo(8*zZLP(`^4gp8NutmM|v300000NkvXXu0mjfGzx&x literal 0 HcmV?d00001 diff --git a/src/site/resources/images/jintellitype-logo.pspimage b/src/site/resources/images/jintellitype-logo.pspimage new file mode 100644 index 0000000000000000000000000000000000000000..e64baf3b86fa6a85e08a30bc5bff97740420f850 GIT binary patch literal 75418 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 iNa-TXqzwd=3-F??nsV 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 literal 0 HcmV?d00001 diff --git a/src/site/resources/images/windows.png b/src/site/resources/images/windows.png new file mode 100644 index 0000000000000000000000000000000000000000..ccb4ba3816282c24b21d33eee00f8153fc25648f GIT binary patch literal 1069 zcmV+|1k(G7P)X0{{R35$kR!00004XF*Lt007q5 z)K6G40000PbVXQnQ*UN;cVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!b5KlFMegq5 zS$G4VHW4shf`@Adv+PWW(gX6@MYl;7?r$DBX_k1DEK7jH<=n^h)Bu=%CuxbFn(hbg z=it`b+v(xbV~zqoZJ3?s9KS^lxkwbw)U)MW3(AmmYmKGnUJY)d0_0l^WR3tjZ>2hP zxO$c?>g(USg=~JJ)}Mz#d6z7dcL$!WZ<4E1>VZD8oksG8J?QD+)5@r=nolugkD7ld zjMxM^YnC~3v#LB2a+Mp{-M(Os%0+RN!n1(ANfO}1uTFQKx?C@Oy#YFOw@7}x*3P6{ zipa2_XJ(Sk&94AukjKJwQ0(j6Z;`Fa(yEYj0B(}Pu1OzwP8S&c@gf_ zL8rRI<=xKSS`g`VET!f%;&(Q!kN|t1&)w9&!Lxkf;^3LH+dOu z!VT#5NSMtvx=b5Md$D7L z50Z8bX_LyrwvU`+g1(C!J0K`n!ca_pXwZ;gb;?DMWwOBiERqjx)Dcxzw*=*=;+(qy9m&t zijJXF$+M!2bt+VZy`#C^=4&C&u$l6!beyohr;$6x&eV?28F7g&;K#DSqYbm5Q?X7a z1(T?w0003%Nkln<>C zu)-pJP=a$+dbRWnZw77^?(IQ3S*X$$Q48ki%PCCeWl&swTD-A+4T@|A6DJ1~Q{~1` zh6AFD*#ucXlgs7SP00ImEjNVnki*7GD00000NkvXXu0mjfeSQ*j literal 0 HcmV?d00001 diff --git a/src/site/site.xml b/src/site/site.xml new file mode 100644 index 0000000..da6981b --- /dev/null +++ b/src/site/site.xml @@ -0,0 +1,56 @@ + + + + http://melloware.com/images/header.jpg + http://melloware.com/ + + + ./images/jintellitype-banner.png + http://melloware.com/products/jintellitype/ + + + + + com.melloware + melloware-skin + 1.0 + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + + + + + + + + + + + + + diff --git a/src/site/xdoc/contacts.xml b/src/site/xdoc/contacts.xml new file mode 100644 index 0000000..5ee5ea7 --- /dev/null +++ b/src/site/xdoc/contacts.xml @@ -0,0 +1,32 @@ + + + + + + Contacts + Emil A Lefkof III + + + + +
+

+ The preferred way of getting in touch with one of the developers of + JIntellitype is via the forums. + Please direct any matters of general user support, questions, suggestions, discussions, etc., + to the forums. +

+ + +

+ In special cases, you may try to contact directly one of the + developers or contributors. You + can always send request to info@melloware.com also. +

+
+ +
+ + + +
\ No newline at end of file diff --git a/src/site/xdoc/dev-cpp.xml b/src/site/xdoc/dev-cpp.xml new file mode 100644 index 0000000..20ed4b7 --- /dev/null +++ b/src/site/xdoc/dev-cpp.xml @@ -0,0 +1,37 @@ + + + + JIntellitype + Emil A Lefkof III + + + +
+ +

+ Jintellitype uses the Bloodshed Dev C++ IDE for compiling the JIntellitype.dll. +

+ +

+ 1. Once you have DevC++ installed, just open the JIntellitype.dev project file. +

+

+ 2. Navigate to the menu option Project->Options. +

+

+ 3. Make sure to set the entries in the screenshot below to your JDK location. +
+ Project Options +

+ +

+ 4. Change your Project->Options Build Options to point to an output directory of your choosing. + +

+ +

+ 5. Use the menu or toolbar button to build the DLL! +

+
+ +
\ No newline at end of file diff --git a/src/site/xdoc/index.xml b/src/site/xdoc/index.xml new file mode 100644 index 0000000..4adb687 --- /dev/null +++ b/src/site/xdoc/index.xml @@ -0,0 +1,121 @@ + + + + Java API for Microsoft Intellitype + Emil A Lefkof III + + + +
+ + +

+ JIntellitype is a Java API for interacting with Microsoft Intellitype + commands as well as registering for Global Hotkeys in your Java application. + The API is a Java JNI library that uses a C++ DLL to do all the communication + with Windows. NOTE: This library ONLY works on Windows. If + you are looking for a Linux version please see JxGrabKey project on Sourceforge. +

+
+ + +

+ Have you ever wanted to have CTRL+SHIFT+G maximize your Swing application + on the desktop? Even if that application did not have focus? Well, now you can! By + registering a Windows Hotkey combination, your application will be alerted + when the combination you select is pressed anywhere in Windows. Windows has the + API call RegisterHotKey + for registering a global hotkey combination so that your app receives that message + no matter what else you are doing or even if your application has focus. This is + a commonly requested feature in Java that has now been implemented by JIntellitype. + + Check out the Quick Start Guide for an example on how to use JIntellitype. +

+ +
+ + + +

+ Have you ever wanted your Java application to react to those special Play, Pause, + Stop keys on some newer keyboards like Winamp and Windows Media Player do? Ever wonder how they do it? + If you want your application to "listen" for those special keys, now you can with JIntellitype! + Just register an IntellitypeListener and you will be notified when those messages are received. + To read more about these special commands see the MSDN Documentation + about the Intellitype commands. + + Check out the Quick Start Guide for an example on how to use JIntellitype. +

+ +
+ + +

+ Although JIntellitype is open source, small financial donations are appreciated. By supporting Melloware, you help fund the development + (mainly development tools and internet access etc) of Melloware's Software. To send money, simply click on the PayPal icon to the left. +

+
+ + +

+ Jukes cross platform music player and organizer. +

+

+ JaJuk cross platform swiss army knife music player including DJ mode and much more! +

+

+ C2TN C2TN is the first RSS Reader which integrates completely into your desktop. +

+

+ aTunes aTunes is a GPL audio player and manager. +

+

+ Topkeys emulates the mouse using the keyboard. +

+

+ MiniGen is a program that can generate text in any Windows-based (tested on XP/Vista) application based on the currently selected text in a non-invasive manner. +

+

+ Xtreme Media Player is a free cross-platform media player. +

+

+ MyTime is a simple time tracker, mostly controlled through the tray icon. +

+

+ RadiS is a cool-looking mouse menu that opens upon a global hot-key. Allows sub-menus which will be displayed in an adjacent partly circle. +

+

+ JShot is a free and multiplatform screen capture and uploader utility which allows you to capture a part of your screen and publish it in one step. +

+

+ OpenSoundboard plays sound files (currently only .wav) when the user presses hotkeys. +

+

+ Clipcomrade - simple and free open source windows clipboard manager tool +

+

+ Wordoholic Learner - a cross-platform language learning tool +

+
+ + +
    +
  • Can register global hotkey combinations in Java applications in Windows
  • +
  • Application is notified even if it does not have focus.
  • +
  • Can react to those Play, Pause, Stop, Next, Forward Media keys like Winamp
  • +
  • Very little code, easy to use API
  • +
  • Examples included in JIntellitypeTester.java
  • +
+
+ + + +
+ + + +
\ No newline at end of file diff --git a/src/site/xdoc/quick-start.xml b/src/site/xdoc/quick-start.xml new file mode 100644 index 0000000..4a626e5 --- /dev/null +++ b/src/site/xdoc/quick-start.xml @@ -0,0 +1,110 @@ + + + + JIntellitype + Emil A Lefkof III + + + +
+ +

+ Here is a simple quick start for getting up and running with JIntellitype quickly. + An Example is also included in the + distribution to show you how easy it is to use JIntellitype. +

+ + +

+ If you are familiar with Eclipse there is a full working example Eclipse project that can be + found here Eclipse Example. + In Eclipse just navigate to File->Import->Existing Project Into Workspace and you are ready to go. +

+
+ + +

+ 1. Make sure JIntellitype.dll is in your PATH or in \Windows\System32. +

+

+ 2. Initialize a JIntellitype object. + + // Initialize JIntellitype + ... + JIntellitype.getInstance(); + ... + // OPTIONAL: check to see if an instance of this application is already + // running, use the name of the window title of this JFrame for checking + if (JIntellitype.checkInstanceAlreadyRunning("MyApp")) { + LOG.error("An instance of this application is already running"); + System.exit(1); + } + +

+ +

+ 3. To listen to hotkey's, you need to register the combinations to listen for. + + // Assign global hotkeys to Windows+A and ALT+SHIFT+B + JIntellitype.getInstance().registerHotKey(1, JIntellitype.MOD_WIN, (int)'A'); + JIntellitype.getInstance().registerHotKey(2, JIntellitype.MOD_ALT + JIntellitype.MOD_SHIFT, (int)'B'); + + //or you can use the Swing constants instead + JIntellitype.getInstance().registerSwingHotKey(3, Event.CTRL_MASK + Event.SHIFT_MASK, (int)'C'); + + // To unregister them just call unregisterHotKey with the unique identifier + JIntellitype.getInstance().unregisterHotKey(1); + JIntellitype.getInstance().unregisterHotKey(2); + JIntellitype.getInstance().unregisterHotKey(3); + +

+ +

+ 4. Make sure to add a HotKeyListener and implement the interface. + + //assign this class to be a HotKeyListener + JIntellitype.getInstance().addHotKeyListener(this); + + // listen for hotkey + public void onHotKey(int aIdentifier) { + if (aIdentifier == 1) + System.out.println("WINDOWS+A hotkey pressed"); + } + } + +

+ +

+ 5. To use Intellitype commands implement the IntellitypeListener interface. + + //assign this class to be a IntellitypeListener + JIntellitype.getInstance().addIntellitypeListener(this); + + // listen for intellitype play/pause command + public void onIntellitype(int aCommand) { + switch (aCommand) { + case JIntellitype.APPCOMMAND_MEDIA_PLAY_PAUSE: + System.out.println("Play/Pause message received " + Integer.toString(aCommand)); + break; + default: + System.out.println("Undefined INTELLITYPE message caught " + Integer.toString(aCommand)); + break; + } + } + +

+ +

+ 6. Don't forget to call the cleanup method to release the DLL resources. + + // Termination, make sure to call before exiting + ... + JIntellitype.getInstance().cleanUp(); + System.exit(0); + +

+
+ +
+ +
\ No newline at end of file diff --git a/src/test/java/com/melloware/JIntellitypeTester.java b/src/test/java/com/melloware/JIntellitypeTester.java new file mode 100644 index 0000000..2eae221 --- /dev/null +++ b/src/test/java/com/melloware/JIntellitypeTester.java @@ -0,0 +1,310 @@ +/* + * JIntellitype ----------------- Copyright 2005-2006 Emil A. Lefkof III + * + * I always give it my best shot to make a program useful and solid, but remeber + * that there is absolutely no warranty for using this program as stated in the + * following terms: + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.melloware; + +import java.awt.BorderLayout; +import java.awt.Event; +import java.awt.Frame; +import java.awt.GraphicsEnvironment; +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTextArea; +import javax.swing.border.EtchedBorder; + +import com.melloware.jintellitype.HotkeyListener; +import com.melloware.jintellitype.IntellitypeListener; +import com.melloware.jintellitype.JIntellitype; + +/** + * Swing based test application to test all the functions of the JIntellitype + * library. + *

+ * Copyright (c) 2006 Melloware, Inc. + * @author Emil A. Lefkof III + * @version 1.0 + */ +public class JIntellitypeTester extends JFrame implements HotkeyListener, IntellitypeListener { + + private static JIntellitypeTester mainFrame; + private static final int WINDOWS_A = 88; + private static final int ALT_SHIFT_B = 89; + private static final int CTRL_SHIFT_C = 90; + private static final int PRINT_SCREEN = 91; + private static final int F9 = 92; + private static final int F12 = 93; + private static final int SEMICOLON = 94; + private JButton btnRegisterHotKey = new JButton(); + private JButton btnUnregisterHotKey = new JButton(); + private JPanel bottomPanel = new JPanel(); + private JPanel mainPanel = new JPanel(); + private JPanel topPanel = new JPanel(); + private JScrollPane scrollPane = new JScrollPane(); + private JTextArea textArea = new JTextArea(); + + /** + * Creates new form. + */ + public JIntellitypeTester() { + initComponents(); + } + + /** + * Main method to launch this application. + *

+ * @param args any command line arguments + */ + public static void main(String[] args) { + // first check to see if an instance of this application is already + // running, use the name of the window title of this JFrame for checking + if (JIntellitype.checkInstanceAlreadyRunning("JIntellitype Test Application")) { + System.exit(1); + } + + // next check to make sure JIntellitype DLL can be found and we are on + // a Windows operating System + if (!JIntellitype.isJIntellitypeSupported()) { + System.exit(1); + } + + mainFrame = new JIntellitypeTester(); + mainFrame.setTitle("JIntellitype Test Application"); + center(mainFrame); + mainFrame.setVisible(true); + mainFrame.initJIntellitype(); + } + + /* + * (non-Javadoc) + * @see com.melloware.jintellitype.HotkeyListener#onHotKey(int) + */ + public void onHotKey(int aIdentifier) { + output("WM_HOTKEY message received " + Integer.toString(aIdentifier)); + } + + /* + * (non-Javadoc) + * @see com.melloware.jintellitype.IntellitypeListener#onIntellitype(int) + */ + public void onIntellitype(int aCommand) { + + switch (aCommand) { + case JIntellitype.APPCOMMAND_BROWSER_BACKWARD: + output("BROWSER_BACKWARD message received " + Integer.toString(aCommand)); + break; + case JIntellitype.APPCOMMAND_BROWSER_FAVOURITES: + output("BROWSER_FAVOURITES message received " + Integer.toString(aCommand)); + break; + case JIntellitype.APPCOMMAND_BROWSER_FORWARD: + output("BROWSER_FORWARD message received " + Integer.toString(aCommand)); + break; + case JIntellitype.APPCOMMAND_BROWSER_HOME: + output("BROWSER_HOME message received " + Integer.toString(aCommand)); + break; + case JIntellitype.APPCOMMAND_BROWSER_REFRESH: + output("BROWSER_REFRESH message received " + Integer.toString(aCommand)); + break; + case JIntellitype.APPCOMMAND_BROWSER_SEARCH: + output("BROWSER_SEARCH message received " + Integer.toString(aCommand)); + break; + case JIntellitype.APPCOMMAND_BROWSER_STOP: + output("BROWSER_STOP message received " + Integer.toString(aCommand)); + break; + case JIntellitype.APPCOMMAND_LAUNCH_APP1: + output("LAUNCH_APP1 message received " + Integer.toString(aCommand)); + break; + case JIntellitype.APPCOMMAND_LAUNCH_APP2: + output("LAUNCH_APP2 message received " + Integer.toString(aCommand)); + break; + case JIntellitype.APPCOMMAND_LAUNCH_MAIL: + output("LAUNCH_MAIL message received " + Integer.toString(aCommand)); + break; + case JIntellitype.APPCOMMAND_MEDIA_NEXTTRACK: + output("MEDIA_NEXTTRACK message received " + Integer.toString(aCommand)); + break; + case JIntellitype.APPCOMMAND_MEDIA_PLAY_PAUSE: + output("MEDIA_PLAY_PAUSE message received " + Integer.toString(aCommand)); + break; + case JIntellitype.APPCOMMAND_MEDIA_PREVIOUSTRACK: + output("MEDIA_PREVIOUSTRACK message received " + Integer.toString(aCommand)); + break; + case JIntellitype.APPCOMMAND_MEDIA_STOP: + output("MEDIA_STOP message received " + Integer.toString(aCommand)); + break; + case JIntellitype.APPCOMMAND_VOLUME_DOWN: + output("VOLUME_DOWN message received " + Integer.toString(aCommand)); + break; + case JIntellitype.APPCOMMAND_VOLUME_UP: + output("VOLUME_UP message received " + Integer.toString(aCommand)); + break; + case JIntellitype.APPCOMMAND_VOLUME_MUTE: + output("VOLUME_MUTE message received " + Integer.toString(aCommand)); + break; + default: + output("Undefined INTELLITYPE message caught " + Integer.toString(aCommand)); + break; + } + } + + /** + * Centers window on desktop. + *

+ * @param aFrame the Frame to center + */ + private static void center(JFrame aFrame) { + final GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); + final Point centerPoint = ge.getCenterPoint(); + final Rectangle bounds = ge.getMaximumWindowBounds(); + final int w = Math.min(aFrame.getWidth(), bounds.width); + final int h = Math.min(aFrame.getHeight(), bounds.height); + final int x = centerPoint.x - (w / 2); + final int y = centerPoint.y - (h / 2); + aFrame.setBounds(x, y, w, h); + if ((w == bounds.width) && (h == bounds.height)) { + aFrame.setExtendedState(Frame.MAXIMIZED_BOTH); + } + aFrame.validate(); + } + + /** + * Method to register a hotkey using the RegisterHotKey Windows API call. + *

+ * @param aEvent the ActionEvent fired. + */ + private void btnRegisterHotKey_actionPerformed(ActionEvent aEvent) { + // assign the WINDOWS+A key to the unique id 88 for identification + JIntellitype.getInstance().registerHotKey(WINDOWS_A, JIntellitype.MOD_WIN, (int) 'A'); + JIntellitype.getInstance().registerHotKey(ALT_SHIFT_B, JIntellitype.MOD_ALT + JIntellitype.MOD_SHIFT, (int) 'B'); + JIntellitype.getInstance().registerSwingHotKey(CTRL_SHIFT_C, Event.CTRL_MASK + Event.SHIFT_MASK, (int) 'C'); + + // use a 0 for the modifier if you just want a single keystroke to be a hotkey + JIntellitype.getInstance().registerHotKey(PRINT_SCREEN, 0, 44); + JIntellitype.getInstance().registerHotKey(F9, 0, 120); + JIntellitype.getInstance().registerHotKey(F12, JIntellitype.MOD_ALT, 123); + JIntellitype.getInstance().registerHotKey(SEMICOLON, 0, 186); + // clear the text area + textArea.setText(""); + output("RegisterHotKey WINDOWS+A was assigned uniqueID 88"); + output("RegisterHotKey ALT+SHIFT+B was assigned uniqueID 89"); + output("RegisterHotKey CTRL+SHIFT+C was assigned uniqueID 90"); + output("RegisterHotKey PRINT_SCREEN was assigned uniqueID 91"); + output("RegisterHotKey F9 was assigned uniqueID 92"); + output("RegisterHotKey F12 was assigned uniqueID 93"); + output("RegisterHotKey SEMICOLON was assigned uniqueID 94"); + output("Press WINDOWS+A or ALT+SHIFT+B or CTRL+SHIFT+C in another application and you will see the debug output in the textarea."); + } + + /** + * Method to unregister a hotkey using the UnregisterHotKey Windows API call. + *

+ * @param aEvent the ActionEvent fired. + */ + private void btnUnregisterHotKey_actionPerformed(ActionEvent aEvent) { + JIntellitype.getInstance().unregisterHotKey(WINDOWS_A); + JIntellitype.getInstance().unregisterHotKey(ALT_SHIFT_B); + JIntellitype.getInstance().unregisterHotKey(CTRL_SHIFT_C); + JIntellitype.getInstance().unregisterHotKey(PRINT_SCREEN); + JIntellitype.getInstance().unregisterHotKey(F9); + JIntellitype.getInstance().unregisterHotKey(F12); + JIntellitype.getInstance().unregisterHotKey(SEMICOLON); + output("UnregisterHotKey WINDOWS+A"); + output("UnregisterHotKey ALT+SHIFT+B"); + output("UnregisterHotKey CTRL+SHIFT+C"); + output("UnregisterHotKey PRINT_SCREEN"); + output("UnregisterHotKey F9"); + output("UnregisterHotKey F12"); + output("UnregisterHotKey SEMICOLON"); + output("Press WINDOWS+A or ALT+SHIFT+B in another application and you will NOT see the debug output in the textarea."); + } + + /** + * This method is called from within the constructor to initialize the form. + */ + private void initComponents() { + mainPanel.setLayout(new BorderLayout()); + topPanel.setBorder(new EtchedBorder(1)); + bottomPanel.setLayout(new BorderLayout()); + bottomPanel.setBorder(new EtchedBorder(1)); + btnRegisterHotKey.setText("RegisterHotKey"); + btnRegisterHotKey.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + btnRegisterHotKey_actionPerformed(e); + } + }); + btnUnregisterHotKey.setText("UnregisterHotKey"); + btnUnregisterHotKey.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + btnUnregisterHotKey_actionPerformed(e); + } + }); + topPanel.add(btnRegisterHotKey); + topPanel.add(btnUnregisterHotKey); + scrollPane.getViewport().add(textArea); + bottomPanel.add(scrollPane, BorderLayout.CENTER); + mainPanel.add(topPanel, BorderLayout.NORTH); + mainPanel.add(bottomPanel, BorderLayout.CENTER); + + this.addWindowListener(new java.awt.event.WindowAdapter() { + public void windowClosing(java.awt.event.WindowEvent evt) { + // don't forget to clean up any resources before close + JIntellitype.getInstance().cleanUp(); + System.exit(0); + } + }); + + this.getContentPane().add(mainPanel); + this.pack(); + this.setSize(800, 600); + } + + /** + * Initialize the JInitellitype library making sure the DLL is located. + * + */ + public void initJIntellitype() { + try { + + // initialize JIntellitype with the frame so all windows commands can + // be attached to this window + JIntellitype.getInstance().addHotKeyListener(this); + JIntellitype.getInstance().addIntellitypeListener(this); + output("JIntellitype initialized"); + } catch (RuntimeException ex) { + output("Either you are not on Windows, or there is a problem with the JIntellitype library!"); + } + } + + /** + * Send the output to the log and the text area. + *

+ * @param text the text to output + */ + private void output(String text) { + textArea.append(text); + textArea.append("\n"); + } + +} \ No newline at end of file diff --git a/src/test/resources/log4j.properties b/src/test/resources/log4j.properties new file mode 100644 index 0000000..f1454f6 --- /dev/null +++ b/src/test/resources/log4j.properties @@ -0,0 +1,29 @@ +################################################################### +# # +# Copyright 2006 Melloware Inc # +# # +# http://www.melloware.com # +# # +################################################################### + +log4j.rootLogger=DEBUG,stdout + +######################################################################## +# +# Appenders +# +######################################################################## + + +#### Appender writes to console +log4j.appender.stdout = org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d{MM/dd/yyyy HH:mm:ss} %-5p - [%C{1}.%M:%L] %m %n + +#### jukes.log +log4j.appender.MELLOWARE = org.apache.log4j.FileAppender +log4j.appender.MELLOWARE.file = ${user.home}/.jintellitype/jintellitype.log +log4j.appender.MELLOWARE.layout = org.apache.log4j.PatternLayout +log4j.appender.MELLOWARE.layout.conversionPattern = %d{MM/dd/yyyy HH:mm:ss} %-5p - [%C{1}.%M:%L] %m %n +log4j.appender.MELLOWARE.append = false +

+ * @return the full version number of this application + */ + private static String getProjectVersion() { + String version; + + try { + final Properties pomProperties = new Properties(); + pomProperties.load(Main.class.getResourceAsStream("/META-INF/maven/com.melloware/jintellitype/pom.properties")); + version = pomProperties.getProperty("version"); + } catch (Exception e) { + version = "RUNNING.IN.IDE.FULL"; + } + return version; + } +} \ No newline at end of file diff --git a/src/site/fml/faq.fml b/src/site/fml/faq.fml new file mode 100644 index 0000000..f141139 --- /dev/null +++ b/src/site/fml/faq.fml @@ -0,0 +1,131 @@ + + + + + + General + + + + What is JIntellitype? + + + JIntellitype is a Java API for Windows that allows you to + register global hotkeys and listen for Microsft Intellitype commands. + + + + + + On which platform does it run? + + + Since JIntellitype uses Windows specific calls it will + only work on Windows. Windows 2000 or higher recommended. For a Linux + version see JxGrabKey project on Sourceforge. + + + + + + Does it run on x64 JDK or JRE's? + + + Starting with 1.3.3 JINtellitype comes with a 64 bit DLL. To use it Simply rename the DLL to + JIntellitype.dll or use the Jintellitype.setLibraryLocation(''); function to set the path to JIntellitype64.dll. + + + + + + Where do I get help on JIntellitype? + + + This FAQ answers some frequent questions already, please read the + it thoroughly. +