crashdemons Posted May 5, 2009 Author Posted May 5, 2009 (edited) There is no way to currently use backspace, delete, enter, Esc, F-Keys, and etc. operation keys that do not have associated characters. I could show symbols from a different font, or something else to represent these keys in future updates. Or I could just add a button below the OSK - or alot of different things... I'll consider something for the next update. (Note: as reference to Far Cry IE, there's no representation on the input there either - eg: backspace was triggered via a controller button) Edited May 5, 2009 by crashdemons My Projects - WindowDarken (Darken except the active window) Yahsmosis Chat Client (Discontinued) StarShooter Game (Red alert! All hands to battlestations!) YMSG Protocol Support (Discontinued) Circular Keyboard and OSK example. (aka Iris KB) Target Screensaver Drive Toolbar Thingy Rollup Pro (Minimize-to-Titlebar & More!) 2D Launcher physics example Ascii Screenshot AutoIt3 Quine Example ("Is a Quine" is a Quine.) USB Lock (Another system keydrive - with a toast.)
stinson6016 Posted May 5, 2009 Posted May 5, 2009 ok cool, btw I started using it when setting up laptops here at work Gnatwork Networks
stinson6016 Posted May 6, 2009 Posted May 6, 2009 so i changed the buttons alittle, only one rotate button, but it switches back and forth from left to right, and added buttons for enter, tab and backspace I had to make the buttons smaller under the iris keyboard still needs some tweeking Gnatwork Networks
crashdemons Posted May 6, 2009 Author Posted May 6, 2009 so i changed the buttons alittle, only one rotate button, but it switches back and forth from left to right, and added buttons for enter, tab and backspaceI had to make the buttons smaller under the iris keyboard still needs some tweekingI have updated to version 7 with the prescribed changes. (Added BackSpace, Tab, Enter Buttons)Personally, I like having two rotate buttons - so I just dropped the new buttons on a line below them.Please check the new script to make sure I didn't miss anything. My Projects - WindowDarken (Darken except the active window) Yahsmosis Chat Client (Discontinued) StarShooter Game (Red alert! All hands to battlestations!) YMSG Protocol Support (Discontinued) Circular Keyboard and OSK example. (aka Iris KB) Target Screensaver Drive Toolbar Thingy Rollup Pro (Minimize-to-Titlebar & More!) 2D Launcher physics example Ascii Screenshot AutoIt3 Quine Example ("Is a Quine" is a Quine.) USB Lock (Another system keydrive - with a toast.)
stinson6016 Posted May 6, 2009 Posted May 6, 2009 cool, I like it some changes in the code too looks really nice Gnatwork Networks
myspacee Posted May 7, 2009 Posted May 7, 2009 Hello again, in these day i'm working again on my OSK. Try to apply crashdemons code that allows to create a GUI capable to send text on last focus windows (perfect for a keyboard on screen) with post example, i can create a GUI always on top but without possibility to take focus on it. Post script example, with goal i want to reach: expandcollapse popup#include <GUIConstants.au3> #include <Misc.au3> dim $dll = DllOpen("user32.dll") dim $Button1, $Button2, $Button3, $Button4, $ButtonX, $Button5, $Button6, $Button7, $Button8 global $pos = MouseGetPos() _load_GUI() While 1 if _IsPressed("04", $dll) Then;middle mouse button load GUI $pos = MouseGetPos() GUISetState(@SW_hide) _load_GUI() GUISetState(@SW_SHOW) EndIf $msg = GUIGetMsg() Select Case $msg = $Button1 tooltip("1",0,0) _reload_GUI() Case $msg = $Button2 tooltip("2",0,0) _reload_GUI() Case $msg = $Button3 tooltip("3",0,0) _reload_GUI() Case $msg = $Button4 tooltip("4",0,0) _reload_GUI() Case $msg = $ButtonX tooltip("X",0,0) Case $msg = $Button5 tooltip("5",0,0) _reload_GUI() Case $msg = $Button6 tooltip("6",0,0) _reload_GUI() Case $msg = $Button7 tooltip("7",0,0) _reload_GUI() Case $msg = $Button8 tooltip("8",0,0) _reload_GUI() EndSelect Sleep(10) WEnd DllClose($dll) Func _reload_GUI() $pos = MouseGetPos() GUISetState(@SW_hide) _load_GUI() GUISetState(@SW_SHOW) EndFunc Func _load_GUI() #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Mousse", 100, 100, $pos[0] - 50, $pos[1] - 66) $Button1 = GUICtrlCreateButton("abc", 0, 0, 33, 33, 0) $Button2 = GUICtrlCreateButton("def", 33, 0, 33, 33, 0) $Button3 = GUICtrlCreateButton("ghi", 66, 0, 33, 33, 0) $Button4 = GUICtrlCreateButton("jkl", 0, 33, 33, 33, 0) $ButtonX = GUICtrlCreateButton("OK", 33, 33, 33, 33, 0) $Button5 = GUICtrlCreateButton("mno", 66, 33, 33, 33, 0) $Button6 = GUICtrlCreateButton("pqrs", 0, 66, 33, 33, 0) $Button7 = GUICtrlCreateButton("tuv", 33, 66, 33, 33, 0) $Button8 = GUICtrlCreateButton("wxyz", 66, 66, 33, 33, 0) ;~ GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### EndFunc and then same script but with crashdemons code : expandcollapse popup#include <GUIConstants.au3> #include <Misc.au3> #include <WindowsConstants.au3> $_NOACTIVATE=0x08000000 Opt('GUIOnEventMode',1) Opt('wintitlematchmode', 4) GUIRegisterMsg($WM_ACTIVATE,'WM_EVENTS') dim $dll = DllOpen("user32.dll") dim $Button1, $Button2, $Button3, $Button4, $ButtonX, $Button5, $Button6, $Button7, $Button8 global $Form1 global $pos = MouseGetPos() _load_GUI() While 1 if _IsPressed("04", $dll) Then GUISetState(@SW_SHOW) EndIf $msg = GUIGetMsg() Select Case $msg = $Button1 tooltip("1",0,0) _reload_GUI() Case $msg = $Button2 tooltip("2",0,0) _reload_GUI() Case $msg = $Button3 tooltip("3",0,0) _reload_GUI() Case $msg = $Button4 tooltip("4",0,0) _reload_GUI() Case $msg = $ButtonX tooltip("X",0,0) Case $msg = $Button5 tooltip("5",0,0) _reload_GUI() Case $msg = $Button6 tooltip("6",0,0) _reload_GUI() Case $msg = $Button7 tooltip("7",0,0) _reload_GUI() Case $msg = $Button8 tooltip("8",0,0) _reload_GUI() EndSelect Sleep(10) WEnd DllClose($dll) Func _load_GUI() #Region ### START Koda GUI section ### Form= ;~ $Form1 = GUICreate("Mousse", 100, 100, $pos[0] - 50, $pos[1] - 66, -1,$_NOACTIVATE) $Form1 = GUICreate("Mousse", 100, 100, $pos[0] - 50, $pos[1] - 66, -1) $Button1 = GUICtrlCreateButton("abc", 0, 0, 33, 33, 0) $Button2 = GUICtrlCreateButton("def", 33, 0, 33, 33, 0) $Button3 = GUICtrlCreateButton("ghi", 66, 0, 33, 33, 0) $Button4 = GUICtrlCreateButton("jkl", 0, 33, 33, 33, 0) $ButtonX = GUICtrlCreateButton("OK", 33, 33, 33, 33, 0) $Button5 = GUICtrlCreateButton("mno", 66, 33, 33, 33, 0) $Button6 = GUICtrlCreateButton("pqrs", 0, 66, 33, 33, 0) $Button7 = GUICtrlCreateButton("tuv", 33, 66, 33, 33, 0) $Button8 = GUICtrlCreateButton("wxyz", 66, 66, 33, 33, 0) ;~ GUISetState(@SW_SHOW) WinSetOnTop('Mousse', "", 1) WinActivate('classname=Progman') #EndRegion ### END Koda GUI section ### EndFunc Func _reload_GUI() $pos = MouseGetPos() GUISetState(@SW_hide) _load_GUI() GUISetState(@SW_SHOW) EndFunc Func WM_EVENTS($hWndGUI, $MsgID, $WParam, $LParam) Switch $MsgID Case $WM_ACTIVATE GUISetStyle(-1,0x08000000,$Form1); this may just be paranoia WinActivate('classname=Progman') EndSwitch EndFunc Func Close() Exit EndFunc obviously doesn't work, because i can't click on buttons, because code can't allow to take focus on my GUI. So, i search to add 'On Screen Keyboard' (send) to my GUI (first script) but can't understand how ? Anyone can help me ? thank you, m.
crashdemons Posted May 7, 2009 Author Posted May 7, 2009 (edited) Hello again, in these day i'm working again on my OSK. Try to apply crashdemons code that allows to create a GUI capable to send text on last focus windows (perfect for a keyboard on screen) with post example, i can create a GUI always on top but without possibility to take focus on it. Post script example, with goal i want to reach: <snip> and then same script but with crashdemons code : <snip> obviously doesn't work, because i can't click on buttons, because code can't allow to take focus on my GUI. So, i search to add 'On Screen Keyboard' (send) to my GUI (first script) but can't understand how ? Anyone can help me ? thank you, m. I didn't know exactly what you wanted to send when, but I'll leave that up to you... I tried to make the best of it, enjoy. expandcollapse popup#include <GUIConstants.au3> #include <Misc.au3> #include <WindowsConstants.au3> $_NOACTIVATE=0x08000000 ;Opt('GUIOnEventMode',1); EDIT: You cannot use GUIGetMsg with OnEventMode Opt('wintitlematchmode', 4) GUIRegisterMsg($WM_ACTIVATE,'WM_EVENTS') dim $dll = DllOpen("user32.dll") dim $Button1, $Button2, $Button3, $Button4, $ButtonX, $Button5, $Button6, $Button7, $Button8 global $Form1 Global $open=False _load_GUI() While 1 if _IsPressed("04", $dll) Then Global $Press04Timer If TimerDiff($Press04Timer)>500 Then; so that you have time to let up the button! $open=Not $open Switch $open Case True Local $wasopen=WinGetHandle('[ACTIVE]') WinMove($Form1,'',MouseGetPos(0)-50,MouseGetPos(1)-66) GUISetState(@SW_SHOW,$Form1);EDIT: - this is a problem because showing the GUI in this manner activates it. WinActivate($wasopen);EDIT: okay, so here we have activated the window that was active right before we show the GUI - OR you can use a different method to show the GUI that doesn't activate it! Case False GUISetState(@SW_HIDE,$Form1); EDIT: middle click again to hide the GUI (I was bored) EndSwitch $Press04Timer=TimerInit() EndIf EndIf Local $send='';EDIT: I didn't know what you wanted to do, so I assumed you wanted to SEND something... you can always modify the Send value however you like. Switch GUIGetMsg(); EDIT: it's simpler to use a Switch instead of Select ($x=$y) repeated Case $Button1 $send='1' Case $Button2 $send='2' Case $Button3 $send='3' Case $Button4 $send='4' Case $ButtonX $send='X' Case $Button5 $send='5' Case $Button6 $send='6' Case $Button7 $send='7') Case $Button8 $send='8' Case -3 Exit EndSwitch If StringLen($send)>0 Then Send($send) Sleep(10) WEnd DllClose($dll) Func _load_GUI() #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Mousse", 100, 100, 0, 0, -1,$_NOACTIVATE); EDIT: If you don't want the window to activate, you DEFINATELY need the NoActivate style! :D $Button1 = GUICtrlCreateButton("abc", 0, 0, 33, 33, 0) $Button2 = GUICtrlCreateButton("def", 33, 0, 33, 33, 0) $Button3 = GUICtrlCreateButton("ghi", 66, 0, 33, 33, 0) $Button4 = GUICtrlCreateButton("jkl", 0, 33, 33, 33, 0) $ButtonX = GUICtrlCreateButton("OK", 33, 33, 33, 33, 0) $Button5 = GUICtrlCreateButton("mno", 66, 33, 33, 33, 0) $Button6 = GUICtrlCreateButton("pqrs", 0, 66, 33, 33, 0) $Button7 = GUICtrlCreateButton("tuv", 33, 66, 33, 33, 0) $Button8 = GUICtrlCreateButton("wxyz", 66, 66, 33, 33, 0) WinSetOnTop('Mousse', "", 1) #EndRegion ### END Koda GUI section ### EndFunc Func WM_EVENTS($hWndGUI, $MsgID, $WParam, $LParam) Switch $MsgID Case $WM_ACTIVATE GUISetStyle(-1,0x08000000,$Form1); this may just be paranoia ;WinActivate('classname=Progman'); interferes when the GUI is Shown if we want to manually activate a different window. EndSwitch EndFunc Edited May 7, 2009 by crashdemons My Projects - WindowDarken (Darken except the active window) Yahsmosis Chat Client (Discontinued) StarShooter Game (Red alert! All hands to battlestations!) YMSG Protocol Support (Discontinued) Circular Keyboard and OSK example. (aka Iris KB) Target Screensaver Drive Toolbar Thingy Rollup Pro (Minimize-to-Titlebar & More!) 2D Launcher physics example Ascii Screenshot AutoIt3 Quine Example ("Is a Quine" is a Quine.) USB Lock (Another system keydrive - with a toast.)
myspacee Posted May 7, 2009 Posted May 7, 2009 Perfect crashdemons, understand my errors.I need for an idea explained here. Write using only mouse.Sort of T9 for computer, write with other device other than keyboard.My idea is dictionary based, and word is obtained with given number sequence. Post image to explain GUI.(image contains some errors but post only to explain concept)thank you for help,m.
crashdemons Posted June 19, 2009 Author Posted June 19, 2009 Update v8 and v9: (v8 was never uploaded) + Sounds now can play more rapidly + Sounds are now working on AutoIt v3.3.0.0 + _IrisKeyboard_* Function comments/documentation now up-to-date with version 9 My Projects - WindowDarken (Darken except the active window) Yahsmosis Chat Client (Discontinued) StarShooter Game (Red alert! All hands to battlestations!) YMSG Protocol Support (Discontinued) Circular Keyboard and OSK example. (aka Iris KB) Target Screensaver Drive Toolbar Thingy Rollup Pro (Minimize-to-Titlebar & More!) 2D Launcher physics example Ascii Screenshot AutoIt3 Quine Example ("Is a Quine" is a Quine.) USB Lock (Another system keydrive - with a toast.)
crashdemons Posted September 6, 2010 Author Posted September 6, 2010 Compatibility Update (tested with 3.3.6.1) _SoundOpen useage was changed, versus the v9 code. My Projects - WindowDarken (Darken except the active window) Yahsmosis Chat Client (Discontinued) StarShooter Game (Red alert! All hands to battlestations!) YMSG Protocol Support (Discontinued) Circular Keyboard and OSK example. (aka Iris KB) Target Screensaver Drive Toolbar Thingy Rollup Pro (Minimize-to-Titlebar & More!) 2D Launcher physics example Ascii Screenshot AutoIt3 Quine Example ("Is a Quine" is a Quine.) USB Lock (Another system keydrive - with a toast.)
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