power1power1 Posted July 26, 2013 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.
0xdefea7 Posted July 26, 2013 Posted July 26, 2013 HotKeySet("M", "M") Func M() HotKeySet("M", "") Send("N") HotKeySet("M", "M") EndFunc
power1power1 Posted July 26, 2013 Author 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?
guinness Posted July 26, 2013 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
power1power1 Posted July 26, 2013 Author 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.
0xdefea7 Posted July 26, 2013 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.
power1power1 Posted July 26, 2013 Author Posted July 26, 2013 Can you elaborate on "hooking the dll" method?
Solution 0xdefea7 Posted July 26, 2013 Solution 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>>
power1power1 Posted July 29, 2013 Author 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.
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