bkenobi
Elite Member-
Posts
4581 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Events
Downloads
Store
Articles
Everything posted by bkenobi
-
Well, I'm not sure how to simplify the code at the moment since a lot of the functions are not ones I've used before, but this does work: ~LButton::RapidHotkey("#d""#e",3);pressing 3 times shows Desktop and 4 times Windows Explorer RapidHotkey(keystroke, times="2", delay=0.2, IsLabel=0) { Pattern := Morse(delay*1000) If (StrLen(Pattern) < 2 and Chr(Asc(times)) != "1") Return If (times = "" and InStr(keystroke, """")) { Loop, Parse, keystroke,"" If (StrLen(Pattern) = A_Index+1) continue := A_Index, times := StrLen(Pattern) } Else if (RegExMatch(times, "^\d+$") and InStr(keystroke, """")) { Loop, Parse, keystroke,"" If (StrLen(Pattern) = A_Index+times-1) times := StrLen(Pattern), continue := A_Index } Else if InStr(times, """") { Loop, Parse, times,"" If (StrLen(Pattern) = A_LoopField) continue := A_Index, times := A_LoopField } Else if (times = "") continue = 1, times = 2 Else if (times = StrLen(Pattern)) continue = 1 If !continue Return Loop, Parse, keystroke,"" If (continue = A_Index) keystr := A_LoopField Loop, Parse, IsLabel,"" If (continue = A_Index) IsLabel := A_LoopField hotkey := RegExReplace(A_ThisHotkey, "[\*\~\$\#\+\!\^]") IfInString, hotkey, %A_Space% StringTrimLeft, hotkey,hotkey,% InStr(hotkey,A_Space,1,0) Loop % times backspace .= "{Backspace}" keywait = Ctrl|Alt|Shift|LWin|RWin Loop, Parse, keywait, | KeyWait, %A_LoopField% If ((!IsLabel or (IsLabel and IsLabel(keystr))) and InStr(A_ThisHotkey, "~") and !RegExMatch(A_ThisHotkey , "i)\^[^\!\d]|![^\d]|#|Control|Ctrl|LCtrl|RCtrl|Shift|RShift|LShift|RWin|LWin|Escape|BackSpace|F\d\d?|" . "Insert|Esc|Escape|BS|Delete|Home|End|PgDn|PgUp|Up|Down|Left|Right|ScrollLock |CapsLock|NumLock|AppsKey|" . "PrintScreen|CtrlDown|Pause|Break|Help|Sleep|Browser_Back|Browser_Forward|Bro wser_Refresh|Browser_Stop|" . "Browser_Search|Browser_Favorites|Browser_Home|Volume_Mute|Volume_Down|Volume _Up|MButton|RButton|LButton|" . "Media_Next|Media_Prev|Media_Stop|Media_Play_Pause|Launch_Mail|Launch_Media|L aunch_App1|Launch_App2")) Send % backspace If (WinExist("AHK_class #32768") and hotkey = "LButton") WinClose, AHK_class #32768 MouseGetPos, xpos, ypos if (xpos>A_ScreenWidth-100 and ypos>A_ScreenHeight-100) run, test.ahk Return } Morse(timeout = 400) {;by Laszo -> http://www.autohotkey.com/forum/viewtopic.php?t=16951 (Modified to return: KeyWait %key%, T%tout%) tout := timeout/1000 key := RegExReplace(A_ThisHotKey,"[\*\~\$\#\+\!\^]") IfInString, key, %A_Space% StringTrimLeft, key, key,% InStr(key,A_Space,1,0) Loop { t := A_TickCount KeyWait %key%, T%tout% Pattern .= A_TickCount-t > timeout If(ErrorLevel) Return Pattern KeyWait %key%,DT%tout% If (ErrorLevel) Return Pattern } } Then, you also need the test.ahk file: msgbox test successful I've attached a zipped and compiled version for you. Basically, this just needs to have the one line where it calls the test script modified to call your keyboard instead. I have it set up so that a triple click in the lower right corner (within 100 pixels of the bottom and right edge) will fire the test script. I think it should be good to go. StartKeyboard.zip
-
Have you tried loading the PPJoy ini file manually from the command line? Open a command prompt and type in your command (e.g., "PPJoyKey.exe C:\Config\PPJoyKey.ini"). If it works, you just need to put it in the correct location. If it doesn't work, then we'll have to figure out why. Running it from the command line might help figure out if there's an error though.
-
So I found another script that might work better. It needs to be modified, but first you need to see if it causes any problems in general. The original thread is at http://www.autohotkey.com/forum/topic43726...ht=triple+click The code is: ~LButton::RapidHotkey("#d""#e",3);pressing 3 times shows Desktop and 4 times Windows Explorer RapidHotkey(keystroke, times="2", delay=0.2, IsLabel=0) { Pattern := Morse(delay*1000) If (StrLen(Pattern) < 2 and Chr(Asc(times)) != "1") Return If (times = "" and InStr(keystroke, """")) { Loop, Parse, keystroke,"" If (StrLen(Pattern) = A_Index+1) continue := A_Index, times := StrLen(Pattern) } Else if (RegExMatch(times, "^\d+$") and InStr(keystroke, """")) { Loop, Parse, keystroke,"" If (StrLen(Pattern) = A_Index+times-1) times := StrLen(Pattern), continue := A_Index } Else if InStr(times, """") { Loop, Parse, times,"" If (StrLen(Pattern) = A_LoopField) continue := A_Index, times := A_LoopField } Else if (times = "") continue = 1, times = 2 Else if (times = StrLen(Pattern)) continue = 1 If !continue Return Loop, Parse, keystroke,"" If (continue = A_Index) keystr := A_LoopField Loop, Parse, IsLabel,"" If (continue = A_Index) IsLabel := A_LoopField hotkey := RegExReplace(A_ThisHotkey, "[\*\~\$\#\+\!\^]") IfInString, hotkey, %A_Space% StringTrimLeft, hotkey,hotkey,% InStr(hotkey,A_Space,1,0) Loop % times backspace .= "{Backspace}" keywait = Ctrl|Alt|Shift|LWin|RWin Loop, Parse, keywait, | KeyWait, %A_LoopField% If ((!IsLabel or (IsLabel and IsLabel(keystr))) and InStr(A_ThisHotkey, "~") and !RegExMatch(A_ThisHotkey , "i)\^[^\!\d]|![^\d]|#|Control|Ctrl|LCtrl|RCtrl|Shift|RShift|LShift|RWin|LWin|Escape|BackSpace|F\d\d?|" . "Insert|Esc|Escape|BS|Delete|Home|End|PgDn|PgUp|Up|Down|Left|Right|ScrollLock |CapsLock|NumLock|AppsKey|" . "PrintScreen|CtrlDown|Pause|Break|Help|Sleep|Browser_Back|Browser_Forward|Bro wser_Refresh|Browser_Stop|" . "Browser_Search|Browser_Favorites|Browser_Home|Volume_Mute|Volume_Down|Volume _Up|MButton|RButton|LButton|" . "Media_Next|Media_Prev|Media_Stop|Media_Play_Pause|Launch_Mail|Launch_Media|L aunch_App1|Launch_App2")) Send % backspace If (WinExist("AHK_class #32768") and hotkey = "RButton") WinClose, AHK_class #32768 If !IsLabel Send % keystr else if IsLabel(keystr) Gosub, %keystr% Return } Morse(timeout = 400) {;by Laszo -> http://www.autohotkey.com/forum/viewtopic.php?t=16951 (Modified to return: KeyWait %key%, T%tout%) tout := timeout/1000 key := RegExReplace(A_ThisHotKey,"[\*\~\$\#\+\!\^]") IfInString, key, %A_Space% StringTrimLeft, key, key,% InStr(key,A_Space,1,0) Loop { t := A_TickCount KeyWait %key%, T%tout% Pattern .= A_TickCount-t > timeout If(ErrorLevel) Return Pattern KeyWait %key%,DT%tout% If (ErrorLevel) Return Pattern } } And the compiled version is attached. Also, you might want to try using a mouse gesture program for this. I read that StrokeIt is good, but I have no experience with it. I tried going to strokeit.com, but that was not the right web site http://www.tcbmi.com/strokeit/ show_desktop.zip
-
That's too bad. When I looked at those threads earlier, that was a side effect that was mentioned and unfortunately one that no one had addressed. There may be another way to do this, but I'm not sure of anything at the moment. Perhaps there's a freeware package that can do this? Not sure really.
-
Can you do other things while this code is running? When I was using my mouse and running this code, it wouldn't let me select anything on the screen until I stopped the script from running. If that is true on your system, then it won't work the way it needs to.
-
I don't know if it will work at all, so if you try running the .exe and it works, then we can go from there. The code I used to compile the .exe is as posted. I was playing with this on Friday and it looked like there may be an issue with the code stealing control of your mouse clicks. If that's true on your touch screen too, then you will probably need to have the code changed (not sure how yet) or use a different technique. Before you run this, make sure you have a keyboard connected so that you can kill the code. If it's running and you can't click the screen, then it will be difficult to stop it from running.
-
That's pretty damn cool! Nice idea.
-
The easiest way is to split the roms up into 2 folders and set the 2 emulators to point to the appropriate location. Then, group the emulators together in GameEx.
-
Post your emulator config. Go to the Advanced config tool and select "Export". Change the file name to .txt and upload it here. Also, a "runitgame.bat" file and log.txt file wouldn't hurt.
-
You can set GameEx to launch at a specific resolution or to whatever Windows is set to. It sounds like you might want to specify 640x480 and you should be good.
-
AHK is a scripting language that doesn't require compiling. It can be compiled though, which makes distribution easier. I'd suggest installing AHK and trying the multi-click scripts linked above to make sure they even work with a touch screen the way you want. I think these were set up to be right clicks (which touch screens don't have). So, changing them to left click should do the trick. Like I said, it should be easy enough to only have the script run if it's in a region, but that's a touch extra code. Try this: (Note that triple click quits) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; LEFT CLICKS REMAP ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; LButton:: Loop { KeyWait, LButton, D ; Wait for LButton to be pressed KeyWait, LButton, T0.5 ; and released within 0.5 sec If ( ErrorLevel = 1 ) ; Timed out, hold detected { MsgBox, Hold Continue } KeyWait, LButton, D T0.2 ; Wait for RB to be pressed a 2nd time If ( ErrorLevel = 1 ) ; Timed out, single click detected { MsgBox, Single Click Continue } KeyWait, LButton, T0.2 ; and released within 0.2 sec If ( ErrorLevel = 1 ) ; Timed out, double hold detected { MsgBox, Double hold Continue } KeyWait, LButton, D T0.2 ; Wait for RB to be pressed a 3rd time If ( ErrorLevel = 1 ) ; Timed out, double click detected { MsgBox, Double Click Continue } KeyWait, LButton, T0.2 ; and released within 0.2 sec If ( ErrorLevel = 1 ) ; Timed out, triple hold detected { MsgBox, Triple hold Continue } MsgBox, Triple Click ; No time out, triple click detected ExitApp } multi_click.zip
-
I was just thinking about this. There are really 2 ways you can bring up your keyboard that are easy to use and implement: 1) touch gesture - There are probably lots of ways to do this including some fancy ones that track your gesture with color. I found a couple simple codes for AHK that could do this (currently without color). Check them out: http://www.autohotkey.com/forum/topic25330.html http://www.autohotkey.com/forum/topic1435.html 2) clicks in a location - Perhaps an easier way would be to use a multiple touch in a location to launch an action. So, for example, you could have the lower right quarter of your screen accept a triple touch and then bring up the keyboard. You would obviously want to make it a safe location to touch, but you get the idea. This can be implemented with AHK really easily! The following code does the click detection. The only thing that needs to be added is a limit on region of the screen (if desired): http://www.autohotkey.com/forum/topic37297.html
-
I haven't done it with a keyboard encoder, but I would imagine this is contained in the Advanced Emulator Config file. You can get to it with either config tool, but there is now a wizard that is available to build a custom file for you. I know that tool can be launched from the GameEx menu and the Setup Wizard, but I'm not sure about the Advanced Config Utility.
-
If it will stay on top if you select it, then it could just be a gesture to bring it up. I'm not familiar with gestures, so it's possible you can do that right in that sort of program, but it might also require a script. I'd check over at the AHK or AI forums to see if someone has already developed something that will do exactly or nearly what you want. If you find something, let us know!
-
I understand how they might be helpful in the game, but I was asking about in the FE. The problem with making them available in the game is that there are different ways to display graphics which would potentially require different keyboard display techniques (DirectX, Direct Draw, OpenGL, etc). That's way out of the scope of an FE add on IMO. But yeah, it would be really nice for SOMEONE to develop such an app (if it isn't already available in Windows).
-
An in game keyboard is unlikely (that's a complicated issue I won't get into), but one that can be brought up in GameEx is possible. What uses would you have for such a keyboard? I can only think of using it for searching out roms/media in the search feature.
-
First off, why do you need to do that? Secondly, you can do it with RomLister by generating a batch file if you are careful about how you build your list. If what you are trying to do is set up a second emulator to run gun games on, then you can just use a filter with the mameemumap.ini file. It all depends on what your goal is what I can suggest.
-
I have a P3 600 in my closet. I had to upgrade it from that slow P3 400 in the hopes that I would be able to afford the second P3 600 for dual processing goodness (this was back when I was in school). By the time I could, they didn't sell the chip anymore. Even if they did at that point, I think Athlons were dominating for less money, so...
-
I was just thinking about this and thought it would be a nice feature: create hard links. Instead of copying (which takes up more hard drive space) or moving (which eliminates the possibility to undo mistakes), why not also give the option to create a set of hard links. In case you're not familiar, hard links are new pointers to the same file. They take up (effectively) no HDD space. http://en.wikipedia.org/wiki/Hard_link I use Link Shell Extensions to work with them, but they are built into Windows. http://schinagl.priv.at/nt/hardlinkshellex...nkshellext.html Anyway, this would be an awesome feature that I think would get a lot of use. I currently have to manually create the hard links and then work with those when I do the matching. If you built it into the program, that would be SWEEEEEET!
-
The last game I played was Far Cry I think. I'm pretty sure it wasn't considered a new game when I played it...a year ago. When I was in school, I always had the latest and greatest hardware and games. Then I met my wife and I think I've played 2 PC games since. For some reason, I was a bit burned out anyway, so it hasn't bothered me for years. Emulation is a bit different though. I get to play all the games I loved as a kid...and all the other ones I was jonesing over but never got to play.
-
Tom will need to look into this. I bet he never even considered this problem when he created the merged sets. There are so many things to consider when creating a "simple" feature, it's amazing there are so few bugs that need attention! Thanks for reporting this and doing all the testing to figure it out.
-
I was reading something over at the MediaMonkey forums. Apparently there is a charge per user for the AAC codec so it's not typically included in free software (or at least in the free versions). There is a workaround that might help depending on what you need it for. You can install Quicktime (or Quicktime Alternative) and it will get you the codec for free. Just a thought. Oh, the cost is < $1 per user (closer to $0.50 US) as I understand.
-
Just checking (I do the same thing).
-
I don't understand it, but I'm glad it's working now!




