power1power1 Posted July 26, 2013 Share Posted July 26, 2013 The question that I have is what do you suggest to temporarily map a key to another? I want to temporarily map say M key to N key. I used _IsPressed() to see if M is pressed and then send N key. The issue was the N key would have been sent when M key was pressed and Windows didn't like that. So I added another _IsPressed() to check and send N key after M key was released. This resolved the issue with Windows. Now the problem is it doesn't feel well that the N key is sent on releasing M key rather than pressing M key. Link to comment Share on other sites More sharing options...
0xdefea7 Posted July 26, 2013 Share Posted July 26, 2013 HotKeySet("M", "M") Func M() HotKeySet("M", "") Send("N") HotKeySet("M", "M") EndFunc Link to comment Share on other sites More sharing options...
power1power1 Posted July 26, 2013 Author Share Posted July 26, 2013 Hi 0xdefea7. Thanks for the script. I tested it and it works OK. I also noticed I won't be able to map Ctrl to another key. Is there any work around you might know of? Link to comment Share on other sites More sharing options...
guinness Posted July 26, 2013 Share Posted July 26, 2013 Why would you like to do this? UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
power1power1 Posted July 26, 2013 Author Share Posted July 26, 2013 Well, there are two Ctrl keys on the keyboard and I wanted to make use of one of them as a new key. Link to comment Share on other sites More sharing options...
0xdefea7 Posted July 26, 2013 Share Posted July 26, 2013 In the help file for HotKeySet() - it clearly states that you cannot set Ctrl key (by itself), as it itself is a modifier. That said, you will have to look into other methods (e.g. hooking the dll) to get what you want. Link to comment Share on other sites More sharing options...
power1power1 Posted July 26, 2013 Author Share Posted July 26, 2013 Can you elaborate on "hooking the dll" method? Link to comment Share on other sites More sharing options...
Solution 0xdefea7 Posted July 26, 2013 Solution Share Posted July 26, 2013 Here is an example of hooking the keyboard that I found by searching the forum: '?do=embed' frameborder='0' data-embedContent>> Link to comment Share on other sites More sharing options...
power1power1 Posted July 27, 2013 Author Share Posted July 27, 2013 OK, thanks a lot. Link to comment Share on other sites More sharing options...
power1power1 Posted July 29, 2013 Author Share Posted July 29, 2013 For those who follow this question: I ended up updating the ExitNow() function as follows: Func ExitNow() HotKeySet("{F3}") Send("{F3}") Exit EndFunc And I added the following line to the script: OnAutoItExitRegister("OnAutoItExit") Well, there is a Sleep(10) which I changed it to Sleep(100) as well. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now