Migrate to buildable gradle project
* add gradle wrapper * move source files to gradle project layout * use SetWindowLongPtr instead of SetWindowLong * add static library files for Gdi32 * migrate to use jlibloader 0.2 * move auxiliary files to project root * remove obsolete files
This commit is contained in:
32
site/xdoc/contacts.xml
Normal file
32
site/xdoc/contacts.xml
Normal file
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<document>
|
||||
|
||||
<properties>
|
||||
<title>Contacts</title>
|
||||
<author email="info.AT.melloware.DOT.com">Emil A Lefkof III</author>
|
||||
</properties>
|
||||
|
||||
<body>
|
||||
|
||||
<section name="Contacts">
|
||||
<p>
|
||||
The preferred way of getting in touch with one of the developers of
|
||||
<strong>JIntellitype</strong> is via the <a href="http://forum.melloware.com/index.php">forums</a>.
|
||||
Please direct any matters of general user support, questions, suggestions, discussions, etc.,
|
||||
to the <a href="http://forum.melloware.com/index.php">forums</a>.
|
||||
</p>
|
||||
|
||||
<subsection name="Developers and Contributors">
|
||||
<p>
|
||||
In special cases, you may try to contact directly one of the
|
||||
<a href="team-list.html">developers or contributors</a>. You
|
||||
can always send request to info@melloware.com also.
|
||||
</p>
|
||||
</subsection>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
</body>
|
||||
</document>
|
||||
37
site/xdoc/dev-cpp.xml
Normal file
37
site/xdoc/dev-cpp.xml
Normal file
@@ -0,0 +1,37 @@
|
||||
<document>
|
||||
|
||||
<properties>
|
||||
<title>JIntellitype</title>
|
||||
<author email="info.AT.melloware.DOT.com">Emil A Lefkof III</author>
|
||||
</properties>
|
||||
|
||||
<body>
|
||||
<section name="Compiling Dev C++ DLL">
|
||||
|
||||
<p>
|
||||
Jintellitype uses the <a href="http://www.bloodshed.net/dev/devcpp.html">Bloodshed Dev C++ IDE</a> for compiling the JIntellitype.dll.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
1. Once you have DevC++ installed, just open the JIntellitype.dev project file.
|
||||
</p>
|
||||
<p>
|
||||
2. Navigate to the menu option <strong>Project->Options</strong>.
|
||||
</p>
|
||||
<p>
|
||||
3. Make sure to set the entries in the screenshot below to your JDK location.
|
||||
<br/>
|
||||
<img alt="Project Options" src="./images/devc-jni.jpg"/>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
4. Change your <strong>Project->Options Build Options</strong> to point to an output directory of your choosing.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
5. Use the menu or toolbar button to build the DLL!
|
||||
</p>
|
||||
</section>
|
||||
</body>
|
||||
</document>
|
||||
136
site/xdoc/index.xml
Normal file
136
site/xdoc/index.xml
Normal file
@@ -0,0 +1,136 @@
|
||||
<document>
|
||||
|
||||
<properties>
|
||||
<title>Java API for Microsoft Intellitype</title>
|
||||
<author email="info.AT.melloware.DOT.com">Emil A Lefkof III</author>
|
||||
</properties>
|
||||
|
||||
<body>
|
||||
<section name="JIntellitype API">
|
||||
|
||||
<subsection name="Introduction">
|
||||
<p>
|
||||
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. <strong>NOTE:</strong> This library ONLY works on Windows. If
|
||||
you are looking for a Linux version please see <a href="http://sourceforge.net/projects/jxgrabkey/">JxGrabKey</a> project on Sourceforge.
|
||||
</p>
|
||||
</subsection>
|
||||
|
||||
<subsection name="Hotkeys">
|
||||
<p>
|
||||
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 <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput/keyboardinputreference/keyboardinputfunctions/registerhotkey.asp">RegisterHotKey</a>
|
||||
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 <a href="quick-start.html">Quick Start Guide</a> for an example on how to use JIntellitype.
|
||||
</p>
|
||||
|
||||
</subsection>
|
||||
|
||||
<subsection name="Intellitype">
|
||||
|
||||
<p>
|
||||
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 <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput/keyboardinputreference/keyboardinputmessages/wm_appcommand.asp">MSDN Documentation</a>
|
||||
about the Intellitype commands.
|
||||
|
||||
Check out the <a href="quick-start.html">Quick Start Guide</a> for an example on how to use JIntellitype.
|
||||
</p>
|
||||
|
||||
</subsection>
|
||||
|
||||
<subsection name="Donate">
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
</subsection>
|
||||
|
||||
<subsection name="Applications Using JIntellitype">
|
||||
<p>
|
||||
<a href="http://melloware.com/products/jukes/index.html">Jukes</a> cross platform music player and organizer.
|
||||
</p>
|
||||
<p>
|
||||
<a href="http://jajuk.sourceforge.net">JaJuk</a> cross platform swiss army knife music player including DJ mode and much more!
|
||||
</p>
|
||||
<p>
|
||||
<a href="http://www.c2tn.de">C2TN</a> C2TN is the first RSS Reader which integrates completely into your desktop.
|
||||
</p>
|
||||
<p>
|
||||
<a href="http://www.atunes.org/">aTunes</a> aTunes is a GPL audio player and manager.
|
||||
</p>
|
||||
<p>
|
||||
<a href="http://www.topkeys.net">Topkeys</a> emulates the mouse using the keyboard.
|
||||
</p>
|
||||
<p>
|
||||
<a href="http://code.google.com/p/google-translate-desktop/">Google Translate Desktop</a> is a free unofficial Java desktop client based on Google Translate service.
|
||||
</p>
|
||||
<p>
|
||||
<a href="http://kolovos.wiki.sourceforge.net/MiniGen">MiniGen</a> 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.
|
||||
</p>
|
||||
<p>
|
||||
<a href="http://xtrememp.sourceforge.net/">Xtreme Media Player</a> is a free cross-platform media player.
|
||||
</p>
|
||||
<p>
|
||||
<a href="http://github.com/marnix/mytime/tree/master">MyTime</a> is a simple time tracker, mostly controlled through the tray icon.
|
||||
</p>
|
||||
<p>
|
||||
<a href="http://radis.sourceforge.net/">RadiS</a> 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.
|
||||
</p>
|
||||
<p>
|
||||
<a href="http://jshot.info/">JShot</a> 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.
|
||||
</p>
|
||||
<p>
|
||||
<a href="http://sourceforge.net/projects/opensoundboard">OpenSoundboard</a> plays sound files (.wav, .mp3) when the user presses hotkeys.
|
||||
</p>
|
||||
<p>
|
||||
<a href="http://clipcomrade.sourceforge.net/">Clipcomrade</a> - simple and free open source windows clipboard manager tool
|
||||
</p>
|
||||
<p>
|
||||
<a href="http://wordoholic.com/">Wordoholic Learner</a> - a cross-platform language learning tool
|
||||
</p>
|
||||
<p>
|
||||
<a href="http://code.google.com/p/hotshots/">Hotshots</a> - Easy to use screenshot utility for Windows and Linux
|
||||
</p>
|
||||
<p>
|
||||
<a href="http://code.google.com/p/g15lastfm/">G15Lastfm</a> - Last.fm player for G15 gaming keyboard
|
||||
</p>
|
||||
<p>
|
||||
<a href="http://code.google.com/p/webapp-workplace/">webapp-workplace</a> - Web Workspace/Client to provide notifications for different web applications such as gmail, facebook, etc.
|
||||
</p>
|
||||
<p>
|
||||
<a href="http://code.google.com/p/hawkscope/">Hawkscope</a> - is a productivity tool that allows you to access your hard drive contents quickly via system tray / menubar icon with dynamic pop-up menu.
|
||||
</p>
|
||||
</subsection>
|
||||
|
||||
<subsection name="Features">
|
||||
<ul>
|
||||
<li>Can register global hotkey combinations in Java applications in Windows </li>
|
||||
<li>Application is notified even if it does not have focus.</li>
|
||||
<li>Can react to those Play, Pause, Stop, Next, Forward Media keys like Winamp</li>
|
||||
<li>Very little code, easy to use API</li>
|
||||
<li>Examples included in <a href="xref-test/com/melloware/JIntellitypeTester.html">JIntellitypeTester.java</a></li>
|
||||
</ul>
|
||||
</subsection>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
_uacct = "UA-2908999-2";
|
||||
urchinTracker();
|
||||
</script>
|
||||
</body>
|
||||
</document>
|
||||
110
site/xdoc/quick-start.xml
Normal file
110
site/xdoc/quick-start.xml
Normal file
@@ -0,0 +1,110 @@
|
||||
<document>
|
||||
|
||||
<properties>
|
||||
<title>JIntellitype</title>
|
||||
<author email="info.AT.melloware.DOT.com">Emil A Lefkof III</author>
|
||||
</properties>
|
||||
|
||||
<body>
|
||||
<section name="Quick Start Guide">
|
||||
|
||||
<p>
|
||||
Here is a simple quick start for getting up and running with JIntellitype quickly.
|
||||
An <a href="xref-test/com/melloware/JIntellitypeTester.html">Example</a> is also included in the
|
||||
distribution to show you how easy it is to use JIntellitype.
|
||||
</p>
|
||||
|
||||
<subsection name="Eclipse">
|
||||
<p>
|
||||
If you are familiar with Eclipse there is a full working example Eclipse project that can be
|
||||
found here <a href="http://melloware.com/download/jintellitype/jintellitype-example.zip">Eclipse Example</a>.
|
||||
In Eclipse just navigate to <strong>File->Import->Existing Project Into Workspace</strong> and you are ready to go.
|
||||
</p>
|
||||
</subsection>
|
||||
|
||||
<subsection name="Instructions">
|
||||
<p>
|
||||
1. Make sure JIntellitype.dll is in your PATH or in \Windows\System32.
|
||||
</p>
|
||||
<p>
|
||||
2. Initialize a <a href="apidocs/com/melloware/jintellitype/JIntellitype.html">JIntellitype</a> object.
|
||||
<source>
|
||||
// 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);
|
||||
}
|
||||
</source>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
3. To listen to hotkey's, you need to register the combinations to listen for.
|
||||
<source>
|
||||
// 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);
|
||||
</source>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
4. Make sure to add a <a href="apidocs/com/melloware/jintellitype/HotkeyListener.html">HotKeyListener</a> and implement the interface.
|
||||
<source>
|
||||
//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");
|
||||
}
|
||||
}
|
||||
</source>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
5. To use Intellitype commands implement the <a href="apidocs/com/melloware/jintellitype/IntellitypeListener.html">IntellitypeListener</a> interface.
|
||||
<source>
|
||||
//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;
|
||||
}
|
||||
}
|
||||
</source>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
6. Don't forget to call the cleanup method to release the DLL resources.
|
||||
<source>
|
||||
// Termination, make sure to call before exiting
|
||||
...
|
||||
JIntellitype.getInstance().cleanUp();
|
||||
System.exit(0);
|
||||
</source>
|
||||
</p>
|
||||
</subsection>
|
||||
|
||||
</section>
|
||||
</body>
|
||||
</document>
|
||||
Reference in New Issue
Block a user