|
From: <nic...@us...> - 2015-02-01 16:37:25
|
Revision: 4938
http://sourceforge.net/p/mp-plugins/code/4938
Author: nicsergio
Date: 2015-02-01 16:37:15 +0000 (Sun, 01 Feb 2015)
Log Message:
-----------
Modified Paths:
--------------
trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/MpeProject/Files/ShortCuter.dll
trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/MpeProject/ShortCuter.xmp2
trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/Screenshots/Config.png
trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/Screenshots/KeyAssign.png
trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/ShortCuter.ChangeLog.txt
trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/ShortCuter.Update.xml
trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/ShortCuter.mpe1
trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Configuration/ShortCuterConfig.Designer.cs
trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Configuration/ShortCuterConfig.cs
trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Configuration/ShortCuterConfig.resx
trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/LockKeys.cs
trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Plugin/ShortCuter.cs
trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Properties/AssemblyInfo.cs
trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Resources/XmlFiles/DefaultConfig.xml
trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/ShortCuts.cs
Modified: trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/MpeProject/Files/ShortCuter.dll
===================================================================
(Binary files differ)
Modified: trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/MpeProject/ShortCuter.xmp2
===================================================================
--- trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/MpeProject/ShortCuter.xmp2 2015-02-01 11:26:02 UTC (rev 4937)
+++ trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/MpeProject/ShortCuter.xmp2 2015-02-01 16:37:15 UTC (rev 4938)
@@ -2263,7 +2263,7 @@
<Version>
<Major>2</Major>
<Minor>1</Minor>
- <Build>2</Build>
+ <Build>3</Build>
<Revision>0</Revision>
</Version>
<ExtensionDescription>ShortCut'er let you create keyboard shortcuts to any MP screen, like TV, Videos, Music, etc..
@@ -2273,8 +2273,8 @@
<CTRL> + <ALT> + <SHIFT> + <KEY>
The plugin also integrates the function 'Skin Navigator', which allows you to configure a dialog box with the most used links.</ExtensionDescription>
- <VersionDescription> - stop RawInput message only if event is handled
- (needed for compatibility with generic HID)
+ <VersionDescription> - correct forcing Caps-Lock & Num-Lock at start-up
+ - management restore forcing when MP closed
</VersionDescription>
<DevelopmentStatus>Stable</DevelopmentStatus>
<OnlineLocation>https://svn.code.sf.net/p/mp-plugins/code/trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/ShortCuter.mpe1</OnlineLocation>
@@ -2669,21 +2669,21 @@
<Param1 />
<UpdateOption>OverwriteIfOlder</UpdateOption>
<LocalFileName>ShortCuterInstall.png</LocalFileName>
- <ZipFileName>Installer{CopyFile}\{abf8d654-3759-40db-986d-b13625e3a6f5}-ShortCuterInstall.png</ZipFileName>
+ <ZipFileName>Installer{CopyFile}\{72316e06-3525-43f4-8c74-89ee9db1542f}-ShortCuterInstall.png</ZipFileName>
<DestinationFilename />
</FileItem>
<FileItem InstallType="CopyFile" SystemFile="true" Modified="true">
<Param1 />
<UpdateOption>OverwriteIfOlder</UpdateOption>
<LocalFileName>ShortCuterProgress.png</LocalFileName>
- <ZipFileName>Installer{CopyFile}\{f9e26b83-4b31-4b0c-9e8f-34082ae5d49c}-ShortCuterProgress.png</ZipFileName>
+ <ZipFileName>Installer{CopyFile}\{dc29044e-b606-4dfa-b349-4417f5dcc560}-ShortCuterProgress.png</ZipFileName>
<DestinationFilename />
</FileItem>
<FileItem InstallType="CopyFile" SystemFile="true" Modified="true">
<Param1 />
<UpdateOption>OverwriteIfOlder</UpdateOption>
<LocalFileName>ShortCuter.png</LocalFileName>
- <ZipFileName>Installer{CopyFile}\{c684826a-f0b2-418d-be42-c0b25ef457ea}-ShortCuter.png</ZipFileName>
+ <ZipFileName>Installer{CopyFile}\{91dbdb57-c3c0-4c8c-9336-50c95dfff0d1}-ShortCuter.png</ZipFileName>
<DestinationFilename />
</FileItem>
</Items>
Modified: trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/Screenshots/Config.png
===================================================================
(Binary files differ)
Modified: trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/Screenshots/KeyAssign.png
===================================================================
(Binary files differ)
Modified: trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/ShortCuter.ChangeLog.txt
===================================================================
--- trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/ShortCuter.ChangeLog.txt 2015-02-01 11:26:02 UTC (rev 4937)
+++ trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/ShortCuter.ChangeLog.txt 2015-02-01 16:37:15 UTC (rev 4938)
@@ -1,3 +1,9 @@
+- V2.1.3 (02/01/2015)
+
+ > correct forcing Caps-Lock & Num-Lock at start-up
+ > management restore forcing when MP closed
+
+
- V2.1.2 (02/01/2015)
> stop RawInput message only if event is handled
Modified: trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/ShortCuter.Update.xml
===================================================================
--- trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/ShortCuter.Update.xml 2015-02-01 11:26:02 UTC (rev 4937)
+++ trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/ShortCuter.Update.xml 2015-02-01 16:37:15 UTC (rev 4938)
@@ -1313,5 +1313,167 @@
</ProjectSettings>
<IsSkin>false</IsSkin>
</PackageClass>
+ <PackageClass>
+ <Version>2.0</Version>
+ <Groups>
+ <Items>
+ <GroupItem Name="Binaries">
+ <DisplayName>Binaries</DisplayName>
+ <DefaulChecked>true</DefaulChecked>
+ <Description>Binaries</Description>
+ <Files>
+ <Items />
+ </Files>
+ </GroupItem>
+ <GroupItem Name="Configuration">
+ <DisplayName>Configuration</DisplayName>
+ <DefaulChecked>true</DefaulChecked>
+ <Description>Configuration</Description>
+ <Files>
+ <Items />
+ </Files>
+ </GroupItem>
+ <GroupItem Name="DefaultSkin">
+ <DisplayName>DefaultSkin</DisplayName>
+ <DefaulChecked>true</DefaulChecked>
+ <Description>DefaultSkin</Description>
+ <Files>
+ <Items />
+ </Files>
+ </GroupItem>
+ <GroupItem Name="DefaultWideSkin">
+ <DisplayName>DefaultWideSkin</DisplayName>
+ <DefaulChecked>true</DefaulChecked>
+ <Description>DefaultWideSkin</Description>
+ <Files>
+ <Items />
+ </Files>
+ </GroupItem>
+ <GroupItem Name="TitanSkin">
+ <DisplayName>TitanSkin</DisplayName>
+ <DefaulChecked>false</DefaulChecked>
+ <Description>TitanSkin</Description>
+ <Files>
+ <Items />
+ </Files>
+ </GroupItem>
+ <GroupItem Name="StreamedMPSkin">
+ <DisplayName>StreamedMPSkin</DisplayName>
+ <DefaulChecked>false</DefaulChecked>
+ <Description>StreamedMPSkin</Description>
+ <Files>
+ <Items />
+ </Files>
+ </GroupItem>
+ <GroupItem Name="BlackGlassNovaHDSkin">
+ <DisplayName>BlackGlassNovaHDSkin</DisplayName>
+ <DefaulChecked>false</DefaulChecked>
+ <Description>BlackGlassNovaHDSkin</Description>
+ <Files>
+ <Items />
+ </Files>
+ </GroupItem>
+ <GroupItem Name="XtremeSkin">
+ <DisplayName>XtremeSkin</DisplayName>
+ <DefaulChecked>false</DefaulChecked>
+ <Description>XtremeSkin</Description>
+ <Files>
+ <Items />
+ </Files>
+ </GroupItem>
+ </Items>
+ </Groups>
+ <Sections>
+ <Items />
+ </Sections>
+ <Dependencies>
+ <Items>
+ <DependencyItem>
+ <Type>MediaPortal</Type>
+ <Id />
+ <MinVersion>
+ <Major>1</Major>
+ <Minor>1</Minor>
+ <Build>6</Build>
+ <Revision>27644</Revision>
+ </MinVersion>
+ <MaxVersion>
+ <Major>1</Major>
+ <Minor>1</Minor>
+ <Build>6</Build>
+ <Revision>27644</Revision>
+ </MaxVersion>
+ <WarnOnly>false</WarnOnly>
+ <Message>requires MediaPortal version 1.1.6.27644 to 1.1.6.27644.</Message>
+ <Name>MediaPortal</Name>
+ </DependencyItem>
+ </Items>
+ </Dependencies>
+ <PluginDependencies>
+ <Items />
+ </PluginDependencies>
+ <GeneralInfo>
+ <Name>ShortCut'er</Name>
+ <Id>8f7a9dd8-c238-4d3d-b50d-20b7ca8d296e</Id>
+ <Author>nicsergio</Author>
+ <HomePage>http://www.team-mediaportal.com/extensions/input-output/shortcuter</HomePage>
+ <ForumPage>http://forum.team-mediaportal.com/threads/shortcuter-plugin-v2.121721/</ForumPage>
+ <UpdateUrl>https://svn.code.sf.net/p/mp-plugins/code/trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/ShortCuter.Update.xml</UpdateUrl>
+ <Version>
+ <Major>2</Major>
+ <Minor>1</Minor>
+ <Build>3</Build>
+ <Revision>0</Revision>
+ </Version>
+ <ExtensionDescription>ShortCut'er let you create keyboard shortcuts to any MP screen, like TV, Videos, Music, etc..
+
+For each shortcut you can define a keystroke combination such as:
+
+<CTRL> + <ALT> + <SHIFT> + <KEY>
+
+The plugin also integrates the function 'Skin Navigator', which allows you to configure a dialog box with the most used links.</ExtensionDescription>
+ <VersionDescription> - correct forcing Caps-Lock & Num-Lock at start-up
+ - management restore forcing when MP closed
+</VersionDescription>
+ <DevelopmentStatus>Stable</DevelopmentStatus>
+ <OnlineLocation>https://svn.code.sf.net/p/mp-plugins/code/trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/ShortCuter.mpe1</OnlineLocation>
+ <ReleaseDate>2015-02-01T23:10:13</ReleaseDate>
+ <Tags>shortcut,keys,keyboard,imon,remote,skin,navigator</Tags>
+ <Location>..\ShortCuter.mpe1</Location>
+ <Params>
+ <Items>
+ <SectionParam Name="Online Icon">
+ <Value>https://svn.code.sf.net/p/mp-plugins/code/trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/MpeProject/ShortCuter.png</Value>
+ <ValueType>String</ValueType>
+ <Description>The icon file of the package stored online (jpg,png,bmp)</Description>
+ </SectionParam>
+ <SectionParam Name="Configuration file">
+ <Value>%Plugins%\windows\ShortCuter.dll</Value>
+ <ValueType>Template</ValueType>
+ <Description>The file used to configure the extension.
+ If it has .exe extension the will be executed.
+ If it has .dll extension it's started like MP plugin configuration.</Description>
+ </SectionParam>
+ <SectionParam Name="Online Screenshots">
+ <Value>https://svn.code.sf.net/p/mp-plugins/code/trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/Screenshots/Config.png;https://svn.code.sf.net/p/mp-plugins/code/trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/Screenshots/KeyAssign.png;https://svn.code.sf.net/p/mp-plugins/code/trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/Screenshots/SkinNavConfig.png;https://svn.code.sf.net/p/mp-plugins/code/trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/Screenshots/Skin/BlackGlassNovaHD-CustomList.png;https://svn.code.sf.net/p/mp-plugins/code/trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/Screenshots/Skin/Titan-CustomList.png;https://svn.code.sf.net/p/mp-plugins/code/trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/Screenshots/Skin/Titan-CustomPanel.png;https://svn.code.sf.net/p/mp-plugins/code/trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/Screenshots/Skin/Xtreme-CustomList.png;https://svn.code.sf.net/p/mp-plugins/code/trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/Screenshots/Skin/Xtreme-CustomPanel.png;https://svn.code.sf.net/p/mp-plugins/code/trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/Screenshots/Skin/DefaulWide-DefaultDialog.png</Value>
+ <ValueType>String</ValueType>
+ <Description>Online stored screenshot urls separated by ; </Description>
+ </SectionParam>
+ <SectionParam Name="Force to uninstall on update">
+ <Value>YES</Value>
+ <ValueType>Bool</ValueType>
+ <Description>Show dialog and force to uninstall previous version when updating an extension. Should only be disabled if you are using an NSIS/MSI installer.</Description>
+ </SectionParam>
+ </Items>
+ </Params>
+ </GeneralInfo>
+ <UniqueFileList>
+ <Items />
+ </UniqueFileList>
+ <ProjectSettings>
+ <FolderGroups />
+ </ProjectSettings>
+ <IsSkin>false</IsSkin>
+ </PackageClass>
</Items>
</ExtensionCollection>
\ No newline at end of file
Modified: trunk/plugins/ShortCuter&SkinEditor/Release/ShortCuter/ShortCuter.mpe1
===================================================================
(Binary files differ)
Modified: trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Configuration/ShortCuterConfig.Designer.cs
===================================================================
--- trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Configuration/ShortCuterConfig.Designer.cs 2015-02-01 11:26:02 UTC (rev 4937)
+++ trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Configuration/ShortCuterConfig.Designer.cs 2015-02-01 16:37:15 UTC (rev 4938)
@@ -50,6 +50,7 @@
this.propLeftPictureBox = new System.Windows.Forms.PictureBox();
this.saveButton = new System.Windows.Forms.Button();
this.overridesGroupBox = new System.Windows.Forms.GroupBox();
+ this.restoreOvrCheckBox = new System.Windows.Forms.CheckBox();
this.numLockGroupBox = new System.Windows.Forms.GroupBox();
this.numLockComboBox = new System.Windows.Forms.ComboBox();
this.capsLockGroupBox = new System.Windows.Forms.GroupBox();
@@ -190,7 +191,7 @@
// updateButton
//
this.updateButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
- this.updateButton.Location = new System.Drawing.Point(67, 84);
+ this.updateButton.Location = new System.Drawing.Point(67, 69);
this.updateButton.Name = "updateButton";
this.updateButton.Size = new System.Drawing.Size(135, 38);
this.updateButton.TabIndex = 11;
@@ -291,16 +292,28 @@
//
// overridesGroupBox
//
+ this.overridesGroupBox.Controls.Add(this.restoreOvrCheckBox);
this.overridesGroupBox.Controls.Add(this.numLockGroupBox);
this.overridesGroupBox.Controls.Add(this.capsLockGroupBox);
this.overridesGroupBox.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.overridesGroupBox.Location = new System.Drawing.Point(50, 133);
+ this.overridesGroupBox.Location = new System.Drawing.Point(50, 118);
this.overridesGroupBox.Name = "overridesGroupBox";
- this.overridesGroupBox.Size = new System.Drawing.Size(165, 111);
+ this.overridesGroupBox.Size = new System.Drawing.Size(165, 135);
this.overridesGroupBox.TabIndex = 12;
this.overridesGroupBox.TabStop = false;
this.overridesGroupBox.Text = "Overrides at Start-Up";
//
+ // restoreOvrCheckBox
+ //
+ this.restoreOvrCheckBox.AutoSize = true;
+ this.restoreOvrCheckBox.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
+ this.restoreOvrCheckBox.Location = new System.Drawing.Point(6, 111);
+ this.restoreOvrCheckBox.Name = "restoreOvrCheckBox";
+ this.restoreOvrCheckBox.Size = new System.Drawing.Size(151, 17);
+ this.restoreOvrCheckBox.TabIndex = 14;
+ this.restoreOvrCheckBox.Text = "Restore states when close";
+ this.restoreOvrCheckBox.UseVisualStyleBackColor = true;
+ //
// numLockGroupBox
//
this.numLockGroupBox.Controls.Add(this.numLockComboBox);
@@ -427,6 +440,7 @@
((System.ComponentModel.ISupportInitialize)(this.infoPictureBox)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.propLeftPictureBox)).EndInit();
this.overridesGroupBox.ResumeLayout(false);
+ this.overridesGroupBox.PerformLayout();
this.numLockGroupBox.ResumeLayout(false);
this.capsLockGroupBox.ResumeLayout(false);
this.ResumeLayout(false);
@@ -463,6 +477,7 @@
private My.Common.SkinItems skinItems;
private System.Windows.Forms.Button skinNavAddButton;
private System.Windows.Forms.Button skinNavConfigButton;
+ private System.Windows.Forms.CheckBox restoreOvrCheckBox;
}
}
\ No newline at end of file
Modified: trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Configuration/ShortCuterConfig.cs
===================================================================
--- trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Configuration/ShortCuterConfig.cs 2015-02-01 11:26:02 UTC (rev 4937)
+++ trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Configuration/ShortCuterConfig.cs 2015-02-01 16:37:15 UTC (rev 4938)
@@ -37,6 +37,7 @@
capsLockComboBox.SelectedItem = EnumHelper.GetEnumDescription(myShortCuts.General.ForcingCapsLock);
numLockComboBox.DataSource = EnumHelper.GetEnumDescriptions(typeof(LockKeys.LockKeyActions));
numLockComboBox.SelectedItem = EnumHelper.GetEnumDescription(myShortCuts.General.ForcingNumLock);
+ restoreOvrCheckBox.Checked = myShortCuts.General.RestoreOvr;
#region Enum Senza Descrizione
// capsLockComboBox.DataSource = Enum.GetNames(typeof(LockKeys.LockKeyActions));
@@ -246,7 +247,8 @@
private bool Save() //Salvataggio configurazione plugin
{
myShortCuts.General.ForcingCapsLock = (LockKeys.LockKeyActions)EnumHelper.GetEnumFromDescription<LockKeys.LockKeyActions>(capsLockComboBox.SelectedItem.ToString());
- myShortCuts.General.ForcingNumLock = (LockKeys.LockKeyActions)EnumHelper.GetEnumFromDescription<LockKeys.LockKeyActions>(numLockComboBox.SelectedItem.ToString());
+ myShortCuts.General.ForcingNumLock = (LockKeys.LockKeyActions)EnumHelper.GetEnumFromDescription<LockKeys.LockKeyActions>(numLockComboBox.SelectedItem.ToString());
+ myShortCuts.General.RestoreOvr = restoreOvrCheckBox.Checked;
#region Enum Senza Descrizione
// myShortCuts.General.ForcingCapsLock = (LockKeys.LockKeyActions)Enum.Parse(typeof(LockKeys.LockKeyActions), capsLockComboBox.SelectedItem.ToString());
Modified: trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Configuration/ShortCuterConfig.resx
===================================================================
--- trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Configuration/ShortCuterConfig.resx 2015-02-01 11:26:02 UTC (rev 4937)
+++ trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Configuration/ShortCuterConfig.resx 2015-02-01 16:37:15 UTC (rev 4938)
@@ -174,6 +174,9 @@
<metadata name="overridesGroupBox.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
+ <metadata name="restoreOvrCheckBox.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
<metadata name="numLockGroupBox.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
Modified: trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/LockKeys.cs
===================================================================
--- trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/LockKeys.cs 2015-02-01 11:26:02 UTC (rev 4937)
+++ trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/LockKeys.cs 2015-02-01 16:37:15 UTC (rev 4938)
@@ -17,8 +17,8 @@
public enum LockKeyActions //Tipologie di azioni di modica stato
{
- [Description("Force ON")] Off = 0, //--> reset blocco
- [Description("Force OFF")] On = 1, //--> forzatura blocco
+ [Description("Force OFF")] Off = 0, //--> reset blocco
+ [Description("Force ON")] On = 1, //--> forzatura blocco
[Description("Not Change")] None = 2 //--> nessuna modifica (stato invariato)
}
#endregion
@@ -29,26 +29,34 @@
if ((Control.IsKeyLocked(Keys.CapsLock) & forcing == LockKeyActions.Off) ||
(!Control.IsKeyLocked(Keys.CapsLock) & forcing == LockKeyActions.On)) //Se richiesta una variazione di stato
{
- keybd_event(VK_CAPITAL, SC_CAPITAL, 0, (UIntPtr)0); //--> simulazione pressione del tasto CapsLock
- keybd_event(VK_CAPITAL, SC_CAPITAL, KEYEVENTF_KEYUP, (UIntPtr)0); //--> simulazione rilascio del tasto CapsLock
+ ChangeCapsLock(); //--> modifica stato CapsLock
return true; //--> stato CapsLock modificato
}
else
return false; //--> stato CapsLock non modificato
}
+ public static void ChangeCapsLock() //Modifica stato CapsLock (ON/OFF)
+ {
+ keybd_event(VK_CAPITAL, SC_CAPITAL, 0, (UIntPtr)0); //--> simulazione pressione del tasto CapsLock
+ keybd_event(VK_CAPITAL, SC_CAPITAL, KEYEVENTF_KEYUP, (UIntPtr)0); //--> simulazione rilascio del tasto CapsLock
+ }
public static bool ChangeNumLock(LockKeyActions forcing) //Richesta di modifica stato NumLock
{
if ((Control.IsKeyLocked(Keys.NumLock) & forcing == LockKeyActions.Off) ||
(!Control.IsKeyLocked(Keys.NumLock) & forcing == LockKeyActions.On)) //Se richiesta una variazione di stato
{
- keybd_event(VK_NUMLOCK, HK_NUMLOCK, KEYEVENTF_EXTENDEDKEY, (UIntPtr)0); //--> simulazione pressione del tasto NumLock
- keybd_event(VK_NUMLOCK, HK_NUMLOCK, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
- (UIntPtr)0); //--> simulazione rilascio del tasto NumLock
+ ChangeNumLock(); //--> modifica stato NumLock
return true; //--> stato NumLock modificato
}
else
return false; //--> stato NumLock non modificato
}
+ public static void ChangeNumLock() //Modifica stato NumLock (ON/OFF)
+ {
+ keybd_event(VK_NUMLOCK, HK_NUMLOCK, KEYEVENTF_EXTENDEDKEY, (UIntPtr)0); //--> simulazione pressione del tasto NumLock
+ keybd_event(VK_NUMLOCK, HK_NUMLOCK, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
+ (UIntPtr)0); //--> simulazione rilascio del tasto NumLock
+ }
#endregion
#region Importazione DLL
Modified: trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Plugin/ShortCuter.cs
===================================================================
--- trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Plugin/ShortCuter.cs 2015-02-01 11:26:02 UTC (rev 4937)
+++ trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Plugin/ShortCuter.cs 2015-02-01 16:37:15 UTC (rev 4938)
@@ -10,8 +10,10 @@
public class ShortCuter : GUIInternalWindow //: IPlugin //Classe gestore shortcuts
{
#region Dati
- private ShortCuts myShortCuts; //Istanza classe ShortCuts (dati relativi ai shortcuts configurati)
+ private ShortCuts myShortCuts; //Istanza classe ShortCuts (dati relativi ai shortcuts configurati)
private RawInputHook rawInput; //Istanza classe RawInputHook (gestione hook mediante metodo raw input)
+ bool ovrCapsLock = false; //Flag stato CapsLock modificato
+ bool ovrNumLock = false; //Flag stato NumLock modificato
private static readonly string LogPrefix; //Prefisso per log eventi
#endregion
@@ -31,13 +33,15 @@
myShortCuts = new ShortCuts(settingsFile); //Creazione classe per gestione shorcuts
myShortCuts.Log += new LogEventHandler(myShortCuts_Log); //--> sottoscrizione evento di log shortuts
- if (LockKeys.ChangeCapsLock(myShortCuts.General.ForcingCapsLock))
- MpLog(new LogEventArgs(LogEventArgs.LogLevels.Info, "CapsLock " + ((myShortCuts.General.ForcingCapsLock == LockKeys.LockKeyActions.Off) ? "deactivated" : "activated")));
- if (LockKeys.ChangeNumLock(myShortCuts.General.ForcingNumLock))
- MpLog(new LogEventArgs(LogEventArgs.LogLevels.Info, "NumLock " + ((myShortCuts.General.ForcingNumLock == LockKeys.LockKeyActions.Off) ? "deactivated" : "activated")));
-
if (myShortCuts.Initialize()) //Inizializzazione & lettura impostazioni shorcuts
{
+ ovrCapsLock = LockKeys.ChangeCapsLock(myShortCuts.General.ForcingCapsLock); //--> eventuale memorizzazione stato CapsLock modificato
+ if (ovrCapsLock)
+ MpLog(new LogEventArgs(LogEventArgs.LogLevels.Info, "CapsLock " + ((myShortCuts.General.ForcingCapsLock == LockKeys.LockKeyActions.Off) ? "deactivated" : "activated")));
+ ovrNumLock = LockKeys.ChangeNumLock(myShortCuts.General.ForcingNumLock); //--> eventuale memorizzazione stato NumLock modificato
+ if (ovrNumLock)
+ MpLog(new LogEventArgs(LogEventArgs.LogLevels.Info, "NumLock " + ((myShortCuts.General.ForcingNumLock == LockKeys.LockKeyActions.Off) ? "deactivated" : "activated")));
+
try
{
rawInput = new RawInputHook(GUIGraphicsContext.form.Handle); //--> creazione hook mediante RawInput
@@ -64,6 +68,13 @@
}
public override void DeInit() //Terminazione del plugin
{
+ if (myShortCuts.General.RestoreOvr) //Se richiesto il ripristino delle forzature alla chiusura
+ {
+ if (ovrCapsLock)
+ LockKeys.ChangeCapsLock(); //--> ripristino stato CapsLock
+ if (ovrNumLock)
+ LockKeys.ChangeNumLock(); //--> ripristino stato NumLock
+ }
MpLog(new LogEventArgs(LogEventArgs.LogLevels.Info, "Plugin stopped"));
if (myShortCuts != null)
myShortCuts.Log -= myShortCuts_Log; //--> annullamento sottoscrizione evento di log shortuts
Modified: trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Properties/AssemblyInfo.cs
===================================================================
--- trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Properties/AssemblyInfo.cs 2015-02-01 11:26:02 UTC (rev 4937)
+++ trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Properties/AssemblyInfo.cs 2015-02-01 16:37:15 UTC (rev 4938)
@@ -33,8 +33,8 @@
// È possibile specificare tutti i valori oppure impostare valori predefiniti per i numeri relativi alla revisione e alla build
// utilizzando l'asterisco (*) come descritto di seguito:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("2.1.2.0")]
-[assembly: AssemblyFileVersion("2.1.2.0")]
+[assembly: AssemblyVersion("2.1.3.0")]
+[assembly: AssemblyFileVersion("2.1.3.0")]
//Importante per la compatibilità con MediaPortal
[assembly: CompatibleVersion("1.1.6.27644")]
\ No newline at end of file
Modified: trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Resources/XmlFiles/DefaultConfig.xml
===================================================================
--- trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Resources/XmlFiles/DefaultConfig.xml 2015-02-01 11:26:02 UTC (rev 4937)
+++ trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/Resources/XmlFiles/DefaultConfig.xml 2015-02-01 16:37:15 UTC (rev 4938)
@@ -3,6 +3,7 @@
<General>
<ForcingCapsLock>Off</ForcingCapsLock>
<ForcingNumLock>None</ForcingNumLock>
+ <RestoreOvr>0</RestoreOvr>
</General>
<Items>
<Item>
Modified: trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/ShortCuts.cs
===================================================================
--- trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/ShortCuts.cs 2015-02-01 11:26:02 UTC (rev 4937)
+++ trunk/plugins/ShortCuter&SkinEditor/Source/ShortCuter/ShortCuts.cs 2015-02-01 16:37:15 UTC (rev 4938)
@@ -744,6 +744,7 @@
#region Dati
private LockKeys.LockKeyActions _forcingCapsLock; //Tipologia di forzatura Caps-Lock all'avvio
private LockKeys.LockKeyActions _forcingNumLock; //Tipologia di forzatura Num-Lock all'avvio
+ private bool _restoreOvr; //Eventuale ripristino alla chiusura degli stati forzati
#endregion
#region Costruttore
@@ -751,12 +752,14 @@
{
_forcingCapsLock = LockKeys.LockKeyActions.None; //--> default: nessuna modifica stato Caps-Lock
_forcingNumLock = LockKeys.LockKeyActions.None; //--> default: nessuna modifica stato Num-Lock
+ _restoreOvr = false; //--> default: nessun ripristino
}
#endregion
#region Proprietà
public LockKeys.LockKeyActions ForcingCapsLock { get { return this._forcingCapsLock; } set { this._forcingCapsLock = value; } }
public LockKeys.LockKeyActions ForcingNumLock { get { return this._forcingNumLock; } set { this._forcingNumLock = value; } }
+ public bool RestoreOvr { get { return this._restoreOvr; } set { this._restoreOvr = value; } }
#endregion
}
#endregion
@@ -912,6 +915,9 @@
if (innerNode != null && Convert.ToBoolean(Convert.ToInt16(innerNode.InnerText)))
_general.ForcingNumLock = LockKeys.LockKeyActions.Off;
}
+ innerNode = generalNode.SelectSingleNode("RestoreOvr");
+ if (innerNode != null)
+ _general.RestoreOvr = Convert.ToBoolean(Convert.ToInt16(innerNode.InnerText));
}
XmlNodeList nodeList = xmlFile.DocumentElement.SelectNodes("/ShortCuter/Items/Item");
foreach (XmlNode node in nodeList) //Iterazione per memorizzazione impostazioni shortcuts
@@ -1003,6 +1009,7 @@
xmlSettings.WriteStartElement("General");
xmlSettings.WriteElementString("ForcingCapsLock", _general.ForcingCapsLock.ToString());
xmlSettings.WriteElementString("ForcingNumLock", _general.ForcingNumLock.ToString());
+ xmlSettings.WriteElementString("RestoreOvr", Convert.ToInt16(_general.RestoreOvr).ToString());
xmlSettings.WriteEndElement();
xmlSettings.WriteStartElement("Items");
foreach (ShortCut sc in _items) //Iterazione per salvataggio sortcuts
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|