From: <an...@us...> - 2008-02-20 11:16:55
|
Revision: 1388 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=1388&view=rev Author: and-81 Date: 2008-02-20 03:16:53 -0800 (Wed, 20 Feb 2008) Log Message: ----------- Modified Paths: -------------- trunk/plugins/IR Server Suite/Documentation/new.html trunk/plugins/IR Server Suite/IR Server Plugins/Ads Tech PTV-335 Receiver/Ads Tech PTV-335 Receiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/Custom HID Receiver/Custom HID Receiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/Direct Input Receiver/Direct Input Receiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/FusionRemote Receiver/FusionREMOTE Receiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/Girder Plugin/Girder Plugin.csproj trunk/plugins/IR Server Suite/IR Server Plugins/HCW Receiver/HCW Receiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/HCW Receiver/IrRemoteWrapper.cs trunk/plugins/IR Server Suite/IR Server Plugins/IRMan Receiver/IRMan Receiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/IRTrans Transceiver/IRTrans Transceiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/IgorPlug Receiver/IgorPlug Receiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/LiveDrive Receiver/LiveDrive Receiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/Configure.Designer.cs trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/Configure.cs trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/Configure.resx trunk/plugins/IR Server Suite/IR Server Plugins/RC102 Receiver/RC102 Receiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/RedEye Blaster/RedEye Blaster.csproj trunk/plugins/IR Server Suite/IR Server Plugins/Serial IR Blaster/Serial IR Blaster.csproj trunk/plugins/IR Server Suite/IR Server Plugins/Tira Transceiver/Tira Transceiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/USB-UIRT Transceiver/USB-UIRT Transceiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/Wii Remote Receiver/Wii Remote Receiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/WinLirc Transceiver/WinLirc Transceiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/Windows Message Receiver/Windows Message Receiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/X10 Transceiver/X10 Transceiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/XBCDRC Receiver/XBCDRC Receiver.csproj trunk/plugins/IR Server Suite/IR Server Suite - Debug.nsi trunk/plugins/IR Server Suite/IR Server Suite - Release.nsi trunk/plugins/IR Server Suite/IR Server Suite.sln Added Paths: ----------- trunk/plugins/IR Server Suite/IR Server Plugins/Ads Tech PTV-335 Receiver/Icon.ico trunk/plugins/IR Server Suite/IR Server Plugins/Custom HID Receiver/Icon.ico trunk/plugins/IR Server Suite/IR Server Plugins/Direct Input Receiver/Icon.ico trunk/plugins/IR Server Suite/IR Server Plugins/FusionRemote Receiver/Icon.ico trunk/plugins/IR Server Suite/IR Server Plugins/HCW Receiver/Icon.ico trunk/plugins/IR Server Suite/IR Server Plugins/IRMan Receiver/Icon.ico trunk/plugins/IR Server Suite/IR Server Plugins/IRTrans Transceiver/Icon.ico trunk/plugins/IR Server Suite/IR Server Plugins/IgorPlug Receiver/Icon.ico trunk/plugins/IR Server Suite/IR Server Plugins/Ira Transceiver/ trunk/plugins/IR Server Suite/IR Server Plugins/Ira Transceiver/Ira Transceiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/Ira Transceiver/IraTransceiver.cs trunk/plugins/IR Server Suite/IR Server Plugins/Ira Transceiver/Properties/ trunk/plugins/IR Server Suite/IR Server Plugins/Ira Transceiver/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/IR Server Plugins/Keyboard Input/ trunk/plugins/IR Server Suite/IR Server Plugins/Keyboard Input/Keyboard Input.cs trunk/plugins/IR Server Suite/IR Server Plugins/Keyboard Input/Keyboard Input.csproj trunk/plugins/IR Server Suite/IR Server Plugins/Keyboard Input/Properties/ trunk/plugins/IR Server Suite/IR Server Plugins/Keyboard Input/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/IR Server Plugins/LiveDrive Receiver/Icon.ico trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/Icon.ico trunk/plugins/IR Server Suite/IR Server Plugins/RC102 Receiver/Icon.ico trunk/plugins/IR Server Suite/IR Server Plugins/RedEye Blaster/Icon.ico trunk/plugins/IR Server Suite/IR Server Plugins/Serial IR Blaster/Icon.ico trunk/plugins/IR Server Suite/IR Server Plugins/Speech Receiver/ trunk/plugins/IR Server Suite/IR Server Plugins/Speech Receiver/Properties/ trunk/plugins/IR Server Suite/IR Server Plugins/Speech Receiver/Properties/AssemblyInfo.cs trunk/plugins/IR Server Suite/IR Server Plugins/Speech Receiver/Speech Receiver.csproj trunk/plugins/IR Server Suite/IR Server Plugins/Speech Receiver/SpeechReceiver.cs trunk/plugins/IR Server Suite/IR Server Plugins/Tira Transceiver/Icon.ico trunk/plugins/IR Server Suite/IR Server Plugins/USB-UIRT Transceiver/Icon.ico trunk/plugins/IR Server Suite/IR Server Plugins/Wii Remote Receiver/Icon.ico trunk/plugins/IR Server Suite/IR Server Plugins/WinLirc Transceiver/Icon.ico trunk/plugins/IR Server Suite/IR Server Plugins/Windows Message Receiver/Icon.ico trunk/plugins/IR Server Suite/IR Server Plugins/X10 Transceiver/Icon.ico trunk/plugins/IR Server Suite/IR Server Plugins/XBCDRC Receiver/Icon.ico trunk/plugins/IR Server Suite/Media Center Plugins/ Removed Paths: ------------- trunk/plugins/IR Server Suite/IR Server Plugins/General HID Receiver/ Modified: trunk/plugins/IR Server Suite/Documentation/new.html =================================================================== --- trunk/plugins/IR Server Suite/Documentation/new.html 2008-02-20 06:46:41 UTC (rev 1387) +++ trunk/plugins/IR Server Suite/Documentation/new.html 2008-02-20 11:16:53 UTC (rev 1388) @@ -37,7 +37,7 @@ <LI>Translator: Added a "remap" button for changing the button associated with a command.</LI> <LI>IR Server Plugin: Added support for RC102 and compatible receivers - Experimental.</LI> <LI>TCP Comms: Automatically maps "localhost" to loopback address, avoiding the lookup process. This <i>might</i> solve a host name lookup problem for some users.</LI> -<LI>IR Server Plugin: Added General HID plugin, should enable mapping special keyboard buttons (like Forward, Back, Play, Stop, Volume, etc...).</LI> +<LI>IR Server Plugin: Added Keyboard Input plugin, should enable mapping special (App Command) keyboard buttons (like Forward, Back, Play, Stop, Volume, etc...) as well as basic key combinations.</LI> </UL></P> <BR> Modified: trunk/plugins/IR Server Suite/IR Server Plugins/Ads Tech PTV-335 Receiver/Ads Tech PTV-335 Receiver.csproj =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/Ads Tech PTV-335 Receiver/Ads Tech PTV-335 Receiver.csproj 2008-02-20 06:46:41 UTC (rev 1387) +++ trunk/plugins/IR Server Suite/IR Server Plugins/Ads Tech PTV-335 Receiver/Ads Tech PTV-335 Receiver.csproj 2008-02-20 11:16:53 UTC (rev 1388) @@ -10,6 +10,7 @@ <RootNamespace>InputService.Plugin</RootNamespace> <AssemblyName>Ads Tech PTV-335 Receiver</AssemblyName> <RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent> + <ApplicationIcon>Icon.ico</ApplicationIcon> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -46,6 +47,9 @@ <Private>False</Private> </ProjectReference> </ItemGroup> + <ItemGroup> + <Content Include="Icon.ico" /> + </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. Added: trunk/plugins/IR Server Suite/IR Server Plugins/Ads Tech PTV-335 Receiver/Icon.ico =================================================================== (Binary files differ) Property changes on: trunk/plugins/IR Server Suite/IR Server Plugins/Ads Tech PTV-335 Receiver/Icon.ico ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/plugins/IR Server Suite/IR Server Plugins/Custom HID Receiver/Custom HID Receiver.csproj =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/Custom HID Receiver/Custom HID Receiver.csproj 2008-02-20 06:46:41 UTC (rev 1387) +++ trunk/plugins/IR Server Suite/IR Server Plugins/Custom HID Receiver/Custom HID Receiver.csproj 2008-02-20 11:16:53 UTC (rev 1388) @@ -5,12 +5,14 @@ <ProductVersion>8.0.50727</ProductVersion> <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{0F6576B4-C88E-4E79-B7E9-9480498C5A32}</ProjectGuid> - <OutputType>Exe</OutputType> + <OutputType>Library</OutputType> <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>InputService.Plugin</RootNamespace> <AssemblyName>Custom HID Receiver</AssemblyName> <RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent> - <StartupObject>InputService.Plugin.CustomHIDReceiver</StartupObject> + <StartupObject> + </StartupObject> + <ApplicationIcon>Icon.ico</ApplicationIcon> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>false</DebugSymbols> @@ -97,6 +99,9 @@ <DependentUpon>DeviceSelect.cs</DependentUpon> </EmbeddedResource> </ItemGroup> + <ItemGroup> + <Content Include="Icon.ico" /> + </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. Added: trunk/plugins/IR Server Suite/IR Server Plugins/Custom HID Receiver/Icon.ico =================================================================== (Binary files differ) Property changes on: trunk/plugins/IR Server Suite/IR Server Plugins/Custom HID Receiver/Icon.ico ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/plugins/IR Server Suite/IR Server Plugins/Direct Input Receiver/Direct Input Receiver.csproj =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/Direct Input Receiver/Direct Input Receiver.csproj 2008-02-20 06:46:41 UTC (rev 1387) +++ trunk/plugins/IR Server Suite/IR Server Plugins/Direct Input Receiver/Direct Input Receiver.csproj 2008-02-20 11:16:53 UTC (rev 1388) @@ -10,6 +10,7 @@ <RootNamespace>InputService.Plugin</RootNamespace> <AssemblyName>Direct Input Receiver</AssemblyName> <RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent> + <ApplicationIcon>Icon.ico</ApplicationIcon> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -58,6 +59,9 @@ <Private>False</Private> </ProjectReference> </ItemGroup> + <ItemGroup> + <Content Include="Icon.ico" /> + </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. Added: trunk/plugins/IR Server Suite/IR Server Plugins/Direct Input Receiver/Icon.ico =================================================================== (Binary files differ) Property changes on: trunk/plugins/IR Server Suite/IR Server Plugins/Direct Input Receiver/Icon.ico ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/plugins/IR Server Suite/IR Server Plugins/FusionRemote Receiver/FusionREMOTE Receiver.csproj =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/FusionRemote Receiver/FusionREMOTE Receiver.csproj 2008-02-20 06:46:41 UTC (rev 1387) +++ trunk/plugins/IR Server Suite/IR Server Plugins/FusionRemote Receiver/FusionREMOTE Receiver.csproj 2008-02-20 11:16:53 UTC (rev 1388) @@ -10,6 +10,7 @@ <RootNamespace>InputService.Plugin</RootNamespace> <AssemblyName>FusionREMOTE Receiver</AssemblyName> <RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent> + <ApplicationIcon>Icon.ico</ApplicationIcon> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>false</DebugSymbols> @@ -73,6 +74,9 @@ <Private>False</Private> </ProjectReference> </ItemGroup> + <ItemGroup> + <Content Include="Icon.ico" /> + </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. Added: trunk/plugins/IR Server Suite/IR Server Plugins/FusionRemote Receiver/Icon.ico =================================================================== (Binary files differ) Property changes on: trunk/plugins/IR Server Suite/IR Server Plugins/FusionRemote Receiver/Icon.ico ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/plugins/IR Server Suite/IR Server Plugins/Girder Plugin/Girder Plugin.csproj =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/Girder Plugin/Girder Plugin.csproj 2008-02-20 06:46:41 UTC (rev 1387) +++ trunk/plugins/IR Server Suite/IR Server Plugins/Girder Plugin/Girder Plugin.csproj 2008-02-20 11:16:53 UTC (rev 1388) @@ -10,8 +10,7 @@ <RootNamespace>InputService.Plugin</RootNamespace> <AssemblyName>Girder Plugin</AssemblyName> <RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent> - <ApplicationIcon> - </ApplicationIcon> + <ApplicationIcon>Icon.ico</ApplicationIcon> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> Modified: trunk/plugins/IR Server Suite/IR Server Plugins/HCW Receiver/HCW Receiver.csproj =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/HCW Receiver/HCW Receiver.csproj 2008-02-20 06:46:41 UTC (rev 1387) +++ trunk/plugins/IR Server Suite/IR Server Plugins/HCW Receiver/HCW Receiver.csproj 2008-02-20 11:16:53 UTC (rev 1388) @@ -10,6 +10,7 @@ <RootNamespace>InputService.Plugin</RootNamespace> <AssemblyName>HCW Receiver</AssemblyName> <RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent> + <ApplicationIcon>Icon.ico</ApplicationIcon> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>false</DebugSymbols> @@ -84,6 +85,9 @@ <Private>False</Private> </ProjectReference> </ItemGroup> + <ItemGroup> + <Content Include="Icon.ico" /> + </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. Added: trunk/plugins/IR Server Suite/IR Server Plugins/HCW Receiver/Icon.ico =================================================================== (Binary files differ) Property changes on: trunk/plugins/IR Server Suite/IR Server Plugins/HCW Receiver/Icon.ico ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/plugins/IR Server Suite/IR Server Plugins/HCW Receiver/IrRemoteWrapper.cs =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/HCW Receiver/IrRemoteWrapper.cs 2008-02-20 06:46:41 UTC (rev 1387) +++ trunk/plugins/IR Server Suite/IR Server Plugins/HCW Receiver/IrRemoteWrapper.cs 2008-02-20 11:16:53 UTC (rev 1388) @@ -119,8 +119,11 @@ public IrRemoteWrapper() { string dllPath = GetDllPath(); - IRSetDllDirectory(dllPath); + if (String.IsNullOrEmpty(dllPath)) + throw new ApplicationException("Could not find IrRemote.dll folder"); + SetDllDirectory(dllPath); + _window = new ReceiverWindow(); _window.ProcMsg = new ProcessMessage(WndProc); } @@ -152,8 +155,10 @@ /// </summary> public void StartIrExe() { - if (Process.GetProcessesByName("Ir").Length == 0) - Process.Start(GetHCWPath() + "Ir.exe", "/QUIET"); + string exe = GetHCWPath() + "Ir.exe"; + + if (Process.GetProcessesByName("Ir").Length == 0 && File.Exists(exe)) + Process.Start(exe, "/QUIET"); } /// <summary> @@ -161,9 +166,14 @@ /// </summary> public void StopIrExe() { - Process.Start(GetHCWPath() + "Ir.exe", "/QUIT"); - Thread.Sleep(500); + string exe = GetHCWPath() + "Ir.exe"; + if (File.Exists(exe)) + { + Process.Start(exe, "/QUIT"); + Thread.Sleep(500); + } + if (Process.GetProcessesByName("Ir").Length != 0) foreach (Process proc in Process.GetProcessesByName("Ir")) proc.Kill(); @@ -171,11 +181,6 @@ #endregion Public Methods - static bool IRSetDllDirectory(string PathName) - { - return SetDllDirectory(PathName); - } - static string GetHCWPath() { string dllPath = null; Modified: trunk/plugins/IR Server Suite/IR Server Plugins/IRMan Receiver/IRMan Receiver.csproj =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/IRMan Receiver/IRMan Receiver.csproj 2008-02-20 06:46:41 UTC (rev 1387) +++ trunk/plugins/IR Server Suite/IR Server Plugins/IRMan Receiver/IRMan Receiver.csproj 2008-02-20 11:16:53 UTC (rev 1388) @@ -10,6 +10,7 @@ <RootNamespace>InputService.Plugin</RootNamespace> <AssemblyName>IRMan Receiver</AssemblyName> <RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent> + <ApplicationIcon>Icon.ico</ApplicationIcon> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>false</DebugSymbols> @@ -84,6 +85,9 @@ <Private>False</Private> </ProjectReference> </ItemGroup> + <ItemGroup> + <Content Include="Icon.ico" /> + </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. Added: trunk/plugins/IR Server Suite/IR Server Plugins/IRMan Receiver/Icon.ico =================================================================== (Binary files differ) Property changes on: trunk/plugins/IR Server Suite/IR Server Plugins/IRMan Receiver/Icon.ico ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/plugins/IR Server Suite/IR Server Plugins/IRTrans Transceiver/IRTrans Transceiver.csproj =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/IRTrans Transceiver/IRTrans Transceiver.csproj 2008-02-20 06:46:41 UTC (rev 1387) +++ trunk/plugins/IR Server Suite/IR Server Plugins/IRTrans Transceiver/IRTrans Transceiver.csproj 2008-02-20 11:16:53 UTC (rev 1388) @@ -10,6 +10,7 @@ <RootNamespace>InputService.Plugin</RootNamespace> <AssemblyName>IRTrans Transceiver</AssemblyName> <RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent> + <ApplicationIcon>Icon.ico</ApplicationIcon> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>false</DebugSymbols> @@ -86,6 +87,9 @@ <Private>False</Private> </ProjectReference> </ItemGroup> + <ItemGroup> + <Content Include="Icon.ico" /> + </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. Added: trunk/plugins/IR Server Suite/IR Server Plugins/IRTrans Transceiver/Icon.ico =================================================================== (Binary files differ) Property changes on: trunk/plugins/IR Server Suite/IR Server Plugins/IRTrans Transceiver/Icon.ico ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/plugins/IR Server Suite/IR Server Plugins/IgorPlug Receiver/Icon.ico =================================================================== (Binary files differ) Property changes on: trunk/plugins/IR Server Suite/IR Server Plugins/IgorPlug Receiver/Icon.ico ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/plugins/IR Server Suite/IR Server Plugins/IgorPlug Receiver/IgorPlug Receiver.csproj =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/IgorPlug Receiver/IgorPlug Receiver.csproj 2008-02-20 06:46:41 UTC (rev 1387) +++ trunk/plugins/IR Server Suite/IR Server Plugins/IgorPlug Receiver/IgorPlug Receiver.csproj 2008-02-20 11:16:53 UTC (rev 1388) @@ -10,6 +10,7 @@ <RootNamespace>InputService.Plugin</RootNamespace> <AssemblyName>IgorPlug Receiver</AssemblyName> <RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent> + <ApplicationIcon>Icon.ico</ApplicationIcon> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>false</DebugSymbols> @@ -74,6 +75,9 @@ <Private>False</Private> </ProjectReference> </ItemGroup> + <ItemGroup> + <Content Include="Icon.ico" /> + </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. Added: trunk/plugins/IR Server Suite/IR Server Plugins/Ira Transceiver/Ira Transceiver.csproj =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/Ira Transceiver/Ira Transceiver.csproj (rev 0) +++ trunk/plugins/IR Server Suite/IR Server Plugins/Ira Transceiver/Ira Transceiver.csproj 2008-02-20 11:16:53 UTC (rev 1388) @@ -0,0 +1,59 @@ +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProductVersion>8.0.50727</ProductVersion> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{0E045E97-EEB2-461C-A416-CFC8E452E044}</ProjectGuid> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>InputService.Plugin</RootNamespace> + <AssemblyName>Ira Transceiver</AssemblyName> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <TreatWarningsAsErrors>true</TreatWarningsAsErrors> + <DocumentationFile>bin\Debug\Ira Transceiver.XML</DocumentationFile> + <UseVSHostingProcess>false</UseVSHostingProcess> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <ItemGroup> + <Reference Include="System" /> + <Reference Include="System.Data" /> + <Reference Include="System.Drawing" /> + <Reference Include="System.Windows.Forms" /> + <Reference Include="System.Xml" /> + </ItemGroup> + <ItemGroup> + <Compile Include="IraTransceiver.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\IR Server Plugin Interface\IR Server Plugin Interface.csproj"> + <Project>{D8B3D28F-62CE-4CA7-86CE-B7EAD614A94C}</Project> + <Name>IR Server Plugin Interface</Name> + <Private>False</Private> + </ProjectReference> + </ItemGroup> + <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> + <!-- To modify your build process, add your task inside one of the targets below and uncomment it. + Other similar extension points exist, see Microsoft.Common.targets. + <Target Name="BeforeBuild"> + </Target> + <Target Name="AfterBuild"> + </Target> + --> +</Project> \ No newline at end of file Added: trunk/plugins/IR Server Suite/IR Server Plugins/Ira Transceiver/IraTransceiver.cs =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/Ira Transceiver/IraTransceiver.cs (rev 0) +++ trunk/plugins/IR Server Suite/IR Server Plugins/Ira Transceiver/IraTransceiver.cs 2008-02-20 11:16:53 UTC (rev 1388) @@ -0,0 +1,353 @@ +using System; +using System.Collections.Generic; +#if TRACE +using System.Diagnostics; +#endif +using System.IO; +using System.IO.Ports; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading; +using System.Windows.Forms; +using System.Xml; + +namespace InputService.Plugin +{ + + /// <summary> + /// Ira/Tira device type. + /// </summary> + internal enum DeviceType + { + /// <summary> + /// Ira. + /// </summary> + Ira, + /// <summary> + /// Ira-2. + /// </summary> + Ira2, + /// <summary> + /// Tira. + /// </summary> + Tira, + } + + /// <summary> + /// IR Server Plugin for Ira Transceiver device. + /// </summary> + [CLSCompliant(false)] + public class IraTransceiver : IRServerPluginBase, IConfigure, ITransmitIR, ILearnIR, IRemoteReceiver + { + + #region Constants + + static readonly string ConfigurationFile = + Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + + "\\IR Server Suite\\Input Service\\Ira Transceiver.xml"; + + static readonly string[] Ports = new string[] { "Default" }; + + const int DeviceBufferSize = 6; + + #endregion Constants + + #region Variables + + DeviceType _deviceType; + + string _port; + + + RemoteHandler _remoteButtonHandler; + + SerialPort _serialPort; + + #endregion Variables + + #region Implementation + + /// <summary> + /// Name of the IR Server plugin. + /// </summary> + /// <value>The name.</value> + public override string Name { get { return "Ira/Tira"; } } + /// <summary> + /// IR Server plugin version. + /// </summary> + /// <value>The version.</value> + public override string Version { get { return "1.0.4.2"; } } + /// <summary> + /// The IR Server plugin's author. + /// </summary> + /// <value>The author.</value> + public override string Author { get { return "and-81"; } } + /// <summary> + /// A description of the IR Server plugin. + /// </summary> + /// <value>The description.</value> + public override string Description { get { return "Support for the Ira/Tira transceiver"; } } + + /// <summary> + /// Start the IR Server plugin. + /// </summary> + public override void Start() + { + LoadSettings(); + + Connect(9600); + + _serialPort.Write("IR"); + } + /// <summary> + /// Suspend the IR Server plugin when computer enters standby. + /// </summary> + public override void Suspend() + { + if (_deviceType == DeviceType.Tira) + { + byte[] suspendCommand = new byte[] { 49, 57, 0, 0, 0, 0, 0, 0 }; + Array.Copy(_suspendCommand, 0, suspendCommand, 2, _suspendCommand.Length); + + _serialPort.Write(suspendCommand); + } + + Disconnect(); + } + /// <summary> + /// Resume the IR Server plugin when the computer returns from standby. + /// </summary> + public override void Resume() + { + Connect(9600); + + _serialPort.Write("IR"); + } + /// <summary> + /// Stop the IR Server plugin. + /// </summary> + public override void Stop() + { + Disconnect(); + + _serialPort.Dispose(); + _serialPort = null; + } + + /// <summary> + /// Configure the IR Server plugin. + /// </summary> + public void Configure(IWin32Window owner) + { + LoadSettings(); + + Configure config = new Configure(); + + config.RepeatDelay = _repeatDelay; + config.BlastRepeats = _blastRepeats; + config.LearnTimeout = _learnTimeout; + + if (config.ShowDialog(owner) == DialogResult.OK) + { + _repeatDelay = config.RepeatDelay; + _blastRepeats = config.BlastRepeats; + _learnTimeout = config.LearnTimeout; + + SaveSettings(); + } + } + + /// <summary> + /// Callback for remote button presses. + /// </summary> + /// <value>The remote callback.</value> + public RemoteHandler RemoteCallback + { + get { return _remoteButtonHandler; } + set { _remoteButtonHandler = value; } + } + + /// <summary> + /// Lists the available blaster ports. + /// </summary> + /// <value>The available ports.</value> + public string[] AvailablePorts { get { return Ports; } } + + /// <summary> + /// Transmit an infrared command. + /// </summary> + /// <param name="port">Port to transmit on.</param> + /// <param name="data">Data to transmit.</param> + /// <returns><c>true</c> if successful, otherwise <c>false</c>.</returns> + public bool Transmit(string port, byte[] data) + { + if (_deviceType != DeviceType.Tira) + throw new ApplicationException("Ira and Ira-2 do not support IR Blasting"); + + if (String.IsNullOrEmpty(port)) + throw new ArgumentNullException("port"); + + if (data == null) + throw new ArgumentNullException("data"); + + bool result = false; + + + + + return result; + } + + /// <summary> + /// Learn an infrared command. + /// </summary> + /// <param name="data">New infrared command.</param> + /// <returns> + /// Tells the calling code if the learn was Successful, Failed or Timed Out. + /// </returns> + public LearnStatus Learn(out byte[] data) + { + LearnStatus status = LearnStatus.Failure; + + data = null; + + if (_deviceType != DeviceType.Tira) + throw new ApplicationException("Ira and Ira-2 do not support IR Learn"); + + Disconnect(); + Connect(57600); + + if (_learnTimedOut) + { + status = LearnStatus.Timeout; + } + else if (result) + { + data = Encoding.ASCII.GetBytes(irCode.ToString()); + + status = LearnStatus.Success; + } + else + { + status = LearnStatus.Failure; + } + + Disconnect(); + Connect(9600); + + return status; + } + + /// <summary> + /// Loads the settings. + /// </summary> + void LoadSettings() + { + try + { + XmlDocument doc = new XmlDocument(); + doc.Load(ConfigurationFile); + + _repeatDelay = int.Parse(doc.DocumentElement.Attributes["RepeatDelay"].Value); + _blastRepeats = int.Parse(doc.DocumentElement.Attributes["BlastRepeats"].Value); + _learnTimeout = int.Parse(doc.DocumentElement.Attributes["LearnTimeout"].Value); + } +#if TRACE + catch (Exception ex) + { + Trace.WriteLine(ex.ToString()); +#else + catch + { +#endif + + _repeatDelay = 500; + _blastRepeats = 3; + _learnTimeout = 10000; + } + } + /// <summary> + /// Saves the settings. + /// </summary> + void SaveSettings() + { + try + { + using (XmlTextWriter writer = new XmlTextWriter(ConfigurationFile, Encoding.UTF8)) + { + writer.Formatting = Formatting.Indented; + writer.Indentation = 1; + writer.IndentChar = (char)9; + writer.WriteStartDocument(true); + writer.WriteStartElement("settings"); // <settings> + + writer.WriteAttributeString("RepeatDelay", _repeatDelay.ToString()); + writer.WriteAttributeString("BlastRepeats", _blastRepeats.ToString()); + writer.WriteAttributeString("LearnTimeout", _learnTimeout.ToString()); + + writer.WriteEndElement(); // </settings> + writer.WriteEndDocument(); + } + } +#if TRACE + catch (Exception ex) + { + Trace.WriteLine(ex.ToString()); + } +#else + catch + { + } +#endif + } + + void Connect(int baud) + { + _serialPort = new SerialPort(_port, baud, Parity.None, 8, StopBits.One); + _serialPort.CtsHolding = (_deviceType == DeviceType.Tira); + _serialPort.RtsEnable = (_deviceType == DeviceType.Tira); + _serialPort.ReadBufferSize = DeviceBufferSize; + _serialPort.ReadTimeout = 1000; + + _serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceived); + + _serialPort.Open(); + } + + void Disconnect() + { + _serialPort.Close(); + } + + void DataReceived(object sender, SerialDataReceivedEventArgs e) + { + string received = _serialPort.ReadExisting(); + + switch (received) + { + case "OK": +#if TRACE + Trace.WriteLine("Ira acknowledged mode set"); +#endif + break; + + case "OIW": +#if TRACE + Trace.WriteLine("Ira acknowledged Wake-Up command set"); +#endif + break; + + // Assume it is a button press. + default: + if (_remoteButtonHandler != null) + _remoteButtonHandler(received); + break; + } + + } + + #endregion Implementation + + } + +} Added: trunk/plugins/IR Server Suite/IR Server Plugins/Ira Transceiver/Properties/AssemblyInfo.cs =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/Ira Transceiver/Properties/AssemblyInfo.cs (rev 0) +++ trunk/plugins/IR Server Suite/IR Server Plugins/Ira Transceiver/Properties/AssemblyInfo.cs 2008-02-20 11:16:53 UTC (rev 1388) @@ -0,0 +1,37 @@ +using System; +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Ira Transceiver")] +[assembly: AssemblyDescription("IR Server plugin to support the Tira transceiver")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("and-81")] +[assembly: AssemblyProduct("Ira Transceiver")] +[assembly: AssemblyCopyright("Aaron Dinnage")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.4.2")] +[assembly: AssemblyFileVersion("1.0.4.2")] + +[assembly: CLSCompliant(true)] + +[assembly: Guid("a05e00b6-9b93-497c-b160-7f8d5684d8f8")] \ No newline at end of file Property changes on: trunk/plugins/IR Server Suite/IR Server Plugins/Keyboard Input ___________________________________________________________________ Name: svn:ignore + bin obj Added: trunk/plugins/IR Server Suite/IR Server Plugins/Keyboard Input/Keyboard Input.cs =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/Keyboard Input/Keyboard Input.cs (rev 0) +++ trunk/plugins/IR Server Suite/IR Server Plugins/Keyboard Input/Keyboard Input.cs 2008-02-20 11:16:53 UTC (rev 1388) @@ -0,0 +1,319 @@ +using System; +using System.ComponentModel; +#if TRACE +using System.Diagnostics; +#endif +using System.IO; +using System.Reflection; +using System.Runtime.InteropServices; +using System.Windows.Forms; + +using Microsoft.Win32.SafeHandles; + +namespace InputService.Plugin +{ + + /// <summary> + /// Input Service Plugin to capture ALL keyboard button presses and basic key combinations and forward as remote control commands. + /// </summary> + public class KeyboardInput : PluginBase, IRemoteReceiver + { + + #region Debug + + static void Remote(string code) + { + Console.WriteLine("Remote: {0}", code); + } + + [STAThread] + static void Main() + { + KeyboardInput c = new KeyboardInput(); + c.RemoteCallback += new RemoteHandler(Remote); + + c.Start(); + + Application.Run(); + + c.Stop(); + c = null; + } + + #endregion Debug + + + + #region Interop + + [DllImport("user32.dll")] + static extern IntPtr SetWindowsHookEx(HookType code, HookDelegate func, IntPtr hInstance, int threadID); + + [DllImport("user32.dll")] + static extern int UnhookWindowsHookEx(IntPtr hhook); + + [DllImport("user32.dll")] + static extern int CallNextHookEx(IntPtr hhook, int code, int wParam, IntPtr lParam); + + [DllImport("kernel32.dll")] + static extern IntPtr LoadLibrary(string lpFileName); + + #endregion Interop + + #region Delegates + + delegate int HookDelegate(int code, int wParam, IntPtr lParam); + + #endregion Delegates + + #region Enumerations + + enum HookType + { + WH_JOURNALRECORD = 0, + WH_JOURNALPLAYBACK = 1, + WH_KEYBOARD = 2, + WH_GETMESSAGE = 3, + WH_CALLWNDPROC = 4, + WH_CBT = 5, + WH_SYSMSGFILTER = 6, + WH_MOUSE = 7, + WH_HARDWARE = 8, + WH_DEBUG = 9, + WH_SHELL = 10, + WH_FOREGROUNDIDLE = 11, + WH_CALLWNDPROCRET = 12, + WH_KEYBOARD_LL = 13, + WH_MOUSE_LL = 14 + } + + enum AppCommands + { + None = 0, + BrowserBackward = 1, + BrowserForward = 2, + BrowserRefresh = 3, + BrowserStop = 4, + BrowserSearch = 5, + BrowserFavorites = 6, + BrowserHome = 7, + VolumeMute = 8, + VolumeDown = 9, + VolumeUp = 10, + MediaNextTrack = 11, + MediaPreviousTrack = 12, + MediaStop = 13, + MediaPlayPause = 14, + LaunchMail = 15, + LaunchMediaSelect = 16, + LaunchApp1 = 17, + LaunchApp2 = 18, + BassDown = 19, + BassBoost = 20, + BassUp = 21, + TrebleDown = 22, + TrebleUp = 23, + MicrophoneVolumeMute = 24, + MicrophoneVolumeDown = 25, + MicrophoneVolumeUp = 26, + Help = 27, + Find = 28, + New = 29, + Open = 30, + Close = 31, + Save = 32, + Print = 33, + Undo = 34, + Redo = 35, + Copy = 36, + Cut = 37, + Paste = 38, + ReplyToMail = 39, + ForwardMail = 40, + SendMail = 41, + SpellCheck = 42, + DictateOrCommandControlToggle = 43, + MicrophoneOnOffToggle = 44, + CorrectionList = 45, + MediaPlay = 46, + MediaPause = 47, + MediaRecord = 48, + MediaFastForward = 49, + MediaRewind = 50, + MediaChannelUp = 51, + MediaChannelDown = 52, + Delete = 53, + Flip3D = 54, + } + + #endregion Enumerations + + #region Structures + + struct KeyboardHookStruct + { + + /// <summary> + /// Initializes a new instance of the <see cref="KeyboardHookStruct"/> struct. + /// </summary> + /// <param name="lParam">The lParam to derive from.</param> + public KeyboardHookStruct(IntPtr lParam) + { + KeyboardHookStruct khs = (KeyboardHookStruct)Marshal.PtrToStructure(lParam, typeof(KeyboardHookStruct)); + + virtualKey = khs.virtualKey; + scanCode = khs.scanCode; + flags = khs.flags; + time = khs.time; + dwExtraInfo = khs.dwExtraInfo; + } + + public int virtualKey; + public int scanCode; + public int flags; + public int time; + public int dwExtraInfo; + } + + #endregion Structures + + #region Variables + + bool _stealAppCommands = true; + + RemoteHandler _remoteButtonHandler; + + IntPtr _hookHandle; + + #endregion Variables + + #region Implementation + + /// <summary> + /// Name of the IR Server plugin. + /// </summary> + /// <value>The name.</value> + public override string Name { get { return "Keyboard Input"; } } + /// <summary> + /// IR Server plugin version. + /// </summary> + /// <value>The version.</value> + public override string Version { get { return "1.0.4.2"; } } + /// <summary> + /// The IR Server plugin's author. + /// </summary> + /// <value>The author.</value> + public override string Author { get { return "and-81"; } } + /// <summary> + /// A description of the IR Server plugin. + /// </summary> + /// <value>The description.</value> + public override string Description { get { return "Captures ALL keyboard button presses and basic key combinations as remote control commands"; } } + + /// <summary> + /// Start the IR Server plugin. + /// </summary> + public override void Start() + { + IntPtr hInstance = LoadLibrary("User32"); + _hookHandle = SetWindowsHookEx(HookType.WH_KEYBOARD_LL, new HookDelegate(InternalHookDelegate), hInstance, 0); + } + /// <summary> + /// Suspend the IR Server plugin when computer enters standby. + /// </summary> + public override void Suspend() + { + Stop(); + } + /// <summary> + /// Resume the IR Server plugin when the computer returns from standby. + /// </summary> + public override void Resume() + { + Start(); + } + /// <summary> + /// Stop the IR Server plugin. + /// </summary> + public override void Stop() + { + UnhookWindowsHookEx(_hookHandle); + _hookHandle = IntPtr.Zero; + } + + /// <summary> + /// Callback for remote button presses. + /// </summary> + /// <value>The remote callback.</value> + public RemoteHandler RemoteCallback + { + get { return _remoteButtonHandler; } + set { _remoteButtonHandler = value; } + } + + + int InternalHookDelegate(int code, int wParam, IntPtr lParam) + { + if (code >= 0 && wParam == 256) + { + KeyboardHookStruct khs = new KeyboardHookStruct(lParam); + int keyCode = khs.virtualKey; + + AppCommands appCommand = KeyCodeToAppCommand((Keys)khs.virtualKey); + if (appCommand == AppCommands.None) + { + if (khs.virtualKey == (int)Keys.LShiftKey || khs.virtualKey == (int)Keys.LControlKey || + khs.virtualKey == (int)Keys.RShiftKey || khs.virtualKey == (int)Keys.RControlKey) + return CallNextHookEx(_hookHandle, code, wParam, lParam); + + if ((Control.ModifierKeys & Keys.Shift) == Keys.Shift) keyCode |= 0x00100000; + if ((Control.ModifierKeys & Keys.Control) == Keys.Control) keyCode |= 0x01000000; + if ((Control.ModifierKeys & Keys.Alt) == Keys.Alt) keyCode |= 0x10000000; + } + else + { + keyCode |= (((int)appCommand) << 8); + } + + if (_remoteButtonHandler != null) + _remoteButtonHandler(String.Format("{0:X8}", keyCode)); + + if (_stealAppCommands && appCommand != AppCommands.None) + return 1; + } + + return CallNextHookEx(_hookHandle, code, wParam, lParam); + } + + static AppCommands KeyCodeToAppCommand(Keys keyCode) + { + switch (keyCode) + { + case Keys.BrowserBack: return AppCommands.BrowserBackward; + case Keys.BrowserFavorites: return AppCommands.BrowserFavorites; + case Keys.BrowserForward: return AppCommands.BrowserForward; + case Keys.BrowserHome: return AppCommands.BrowserHome; + case Keys.BrowserRefresh: return AppCommands.BrowserRefresh; + case Keys.BrowserSearch: return AppCommands.BrowserSearch; + case Keys.BrowserStop: return AppCommands.BrowserStop; + case Keys.Help: return AppCommands.Help; + case Keys.LaunchApplication1: return AppCommands.LaunchApp1; + case Keys.LaunchApplication2: return AppCommands.LaunchApp2; + case Keys.LaunchMail: return AppCommands.LaunchMail; + case Keys.MediaNextTrack: return AppCommands.MediaNextTrack; + case Keys.MediaPlayPause: return AppCommands.MediaPlayPause; + case Keys.MediaPreviousTrack: return AppCommands.MediaPreviousTrack; + case Keys.MediaStop: return AppCommands.MediaStop; + case Keys.SelectMedia: return AppCommands.LaunchMediaSelect; + case Keys.VolumeDown: return AppCommands.VolumeDown; + case Keys.VolumeMute: return AppCommands.VolumeMute; + case Keys.VolumeUp: return AppCommands.VolumeUp; + default: return AppCommands.None; + } + } + + #endregion Implementation + + } + +} Added: trunk/plugins/IR Server Suite/IR Server Plugins/Keyboard Input/Keyboard Input.csproj =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/Keyboard Input/Keyboard Input.csproj (rev 0) +++ trunk/plugins/IR Server Suite/IR Server Plugins/Keyboard Input/Keyboard Input.csproj 2008-02-20 11:16:53 UTC (rev 1388) @@ -0,0 +1,60 @@ +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProductVersion>8.0.50727</ProductVersion> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{26DEDF6D-F60D-4311-9A9E-DDF64500D5BF}</ProjectGuid> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>InputService.Plugin</RootNamespace> + <AssemblyName>Keyboard Input</AssemblyName> + <StartupObject> + </StartupObject> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <UseVSHostingProcess>false</UseVSHostingProcess> + <TreatWarningsAsErrors>true</TreatWarningsAsErrors> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <ItemGroup> + <Reference Include="System" /> + <Reference Include="System.Data" /> + <Reference Include="System.Drawing" /> + <Reference Include="System.Windows.Forms" /> + <Reference Include="System.Xml" /> + </ItemGroup> + <ItemGroup> + <Compile Include="Keyboard Input.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\IR Server Plugin Interface\IR Server Plugin Interface.csproj"> + <Project>{D8B3D28F-62CE-4CA7-86CE-B7EAD614A94C}</Project> + <Name>IR Server Plugin Interface</Name> + <Private>True</Private> + </ProjectReference> + </ItemGroup> + <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> + <!-- To modify your build process, add your task inside one of the targets below and uncomment it. + Other similar extension points exist, see Microsoft.Common.targets. + <Target Name="BeforeBuild"> + </Target> + <Target Name="AfterBuild"> + </Target> + --> +</Project> \ No newline at end of file Added: trunk/plugins/IR Server Suite/IR Server Plugins/Keyboard Input/Properties/AssemblyInfo.cs =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/Keyboard Input/Properties/AssemblyInfo.cs (rev 0) +++ trunk/plugins/IR Server Suite/IR Server Plugins/Keyboard Input/Properties/AssemblyInfo.cs 2008-02-20 11:16:53 UTC (rev 1388) @@ -0,0 +1,38 @@ +using System; +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Keyboard Input")] +[assembly: AssemblyDescription("IR Server plugin to use the keyboard like a remote")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("and-81")] +[assembly: AssemblyProduct("KeyboardInput")] +[assembly: AssemblyCopyright("Aaron Dinnage")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("27b720ed-6766-47e8-add5-2a8bf9b73978")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.4.2")] +[assembly: AssemblyFileVersion("1.0.4.2")] + +[assembly: CLSCompliant(true)] Added: trunk/plugins/IR Server Suite/IR Server Plugins/LiveDrive Receiver/Icon.ico =================================================================== (Binary files differ) Property changes on: trunk/plugins/IR Server Suite/IR Server Plugins/LiveDrive Receiver/Icon.ico ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/plugins/IR Server Suite/IR Server Plugins/LiveDrive Receiver/LiveDrive Receiver.csproj =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/LiveDrive Receiver/LiveDrive Receiver.csproj 2008-02-20 06:46:41 UTC (rev 1387) +++ trunk/plugins/IR Server Suite/IR Server Plugins/LiveDrive Receiver/LiveDrive Receiver.csproj 2008-02-20 11:16:53 UTC (rev 1388) @@ -9,6 +9,7 @@ <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>LiveDriveReceiver</RootNamespace> <AssemblyName>LiveDrive Receiver</AssemblyName> + <ApplicationIcon>Icon.ico</ApplicationIcon> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -60,6 +61,9 @@ <SubType>Designer</SubType> </EmbeddedResource> </ItemGroup> + <ItemGroup> + <Content Include="Icon.ico" /> + </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. Modified: trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/Configure.Designer.cs =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/Configure.Designer.cs 2008-02-20 06:46:41 UTC (rev 1387) +++ trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/Configure.Designer.cs 2008-02-20 11:16:53 UTC (rev 1388) @@ -59,6 +59,7 @@ this.labelKeyHeldDelay = new System.Windows.Forms.Label(); this.tabPageMouse = new System.Windows.Forms.TabPage(); this.labelMouseSensitivity = new System.Windows.Forms.Label(); + this.checkBoxDisableAutomaticButtons = new System.Windows.Forms.CheckBox(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDownButtonRepeatDelay)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDownButtonHeldDelay)).BeginInit(); this.groupBoxRemoteTiming.SuspendLayout(); @@ -145,7 +146,7 @@ // // buttonOK // - this.buttonOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.buttonOK.Location = new System.Drawing.Point(128, 240); this.buttonOK.Name = "buttonOK"; this.buttonOK.Size = new System.Drawing.Size(64, 24); @@ -156,7 +157,7 @@ // // buttonCancel // - this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; this.buttonCancel.Location = new System.Drawing.Point(200, 240); this.buttonCancel.Name = "buttonCancel"; @@ -403,9 +404,6 @@ // // tabControl // - this.tabControl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); this.tabControl.Controls.Add(this.tabPageBasic); this.tabControl.Controls.Add(this.tabPageRemote); this.tabControl.Controls.Add(this.tabPageKeyboard); @@ -431,6 +429,7 @@ // // tabPageRemote // + this.tabPageRemote.Controls.Add(this.checkBoxDisableAutomaticButtons); this.tabPageRemote.Controls.Add(this.checkBoxUseSystemRatesRemote); this.tabPageRemote.Controls.Add(this.checkBoxEnableRemote); this.tabPageRemote.Controls.Add(this.groupBoxRemoteTiming); @@ -510,19 +509,32 @@ this.labelMouseSensitivity.Text = "Mouse sensitivity:"; this.labelMouseSensitivity.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // + // checkBoxDisableAutomaticButtons + // + this.checkBoxDisableAutomaticButtons.AutoSize = true; + this.checkBoxDisableAutomaticButtons.Checked = true; + this.checkBoxDisableAutomaticButtons.CheckState = System.Windows.Forms.CheckState.Checked; + this.checkBoxDisableAutomaticButtons.Location = new System.Drawing.Point(8, 168); + this.checkBoxDisableAutomaticButtons.Name = "checkBoxDisableAutomaticButtons"; + this.checkBoxDisableAutomaticButtons.Size = new System.Drawing.Size(148, 17); + this.checkBoxDisableAutomaticButtons.TabIndex = 3; + this.checkBoxDisableAutomaticButtons.Text = "Disable automatic buttons"; + this.toolTips.SetToolTip(this.checkBoxDisableAutomaticButtons, "Prevent the operating system from automatically handling some buttons"); + this.checkBoxDisableAutomaticButtons.UseVisualStyleBackColor = true; + // // Configure // - this.AcceptButton = this.buttonOK; this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.CancelButton = this.buttonCancel; this.ClientSize = new System.Drawing.Size(272, 273); - this.ControlBox = false; this.Controls.Add(this.tabControl); this.Controls.Add(this.buttonCancel); this.Controls.Add(this.buttonOK); + this.MaximizeBox = false; + this.MinimizeBox = false; this.MinimumSize = new System.Drawing.Size(280, 300); this.Name = "Configure"; + this.ShowIcon = false; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.Text = "Microsoft MCE Configuration"; ((System.ComponentModel.ISupportInitialize)(this.numericUpDownButtonRepeatDelay)).EndInit(); @@ -578,5 +590,6 @@ private System.Windows.Forms.CheckBox checkBoxDisableMCEServices; private System.Windows.Forms.CheckBox checkBoxUseSystemRatesRemote; private System.Windows.Forms.CheckBox checkBoxUseSystemRatesKeyboard; + private System.Windows.Forms.CheckBox checkBoxDisableAutomaticButtons; } } \ No newline at end of file Modified: trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/Configure.cs =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/Configure.cs 2008-02-20 06:46:41 UTC (rev 1387) +++ trunk/plugins/IR Server Suite/IR Server Plugins/Microsoft MCE Transceiver/Configure.cs 2008-02-20 11:16:53 UTC (rev 1388) @@ -5,12 +5,20 @@ using System.Text; using System.Windows.Forms; +using Microsoft.Win32; + namespace InputService.Plugin { partial class Configure : Form { + #region Constants + + const string RegistrySubKey = @"SYSTEM\CurrentControlSet\Services\HidIr\Remotes\745a17a0-74d3-11d0-b6fe-00a0c90f57da"; + + #endregion Constants + #region Properties public int LearnTimeout @@ -94,6 +102,11 @@ public Configure() { InitializeComponent(); + + if (Registry.LocalMachine.GetValue(RegistrySubKey + @"\CodeSetNum0", null) == null) + checkBoxDisableAutomaticButtons.Checked = true; + else + checkBoxDisableAutomaticButtons.Checked = false; } #endregion Constructor @@ -102,6 +115,27 @@ private void buttonOK_Click(object sender, EventArgs e) { + if (checkBoxDisableAutomaticButtons.Checked) + { + using (RegistryKey key = Registry.LocalMachine.OpenSubKey(RegistrySubKey, true)) + { + key.DeleteValue("CodeSetNum0", false); + key.DeleteValue("CodeSetNum1", false); + key.DeleteValue("CodeSetNum2", false); + key.DeleteValue("CodeSetNum3", false); + } + } + else + { + using (RegistryKey key = Registry.LocalMachine.OpenSubKey(RegistrySubKey, true)) + { + key.SetValue("CodeSetNum0", 1, RegistryValueKind.DWord); + key.SetValue("CodeSetNum1", 2, RegistryValueKind.DWord); + key.SetValue("CodeSetNum2", 3, RegistryValueKind.DWord); + key.SetValue("CodeSetNum3", 4, RegistryValueKind.DWord); + } + } + this.Dia... [truncated message content] |