Gå til innhold

Script på å få en knapp til å trykkes automatisk flere ganger i sekundet?


Anbefalte innlegg

Hei, dette er sikkert feilpostet, men da får en moderator flytte posten.

 

 

Jeg prøver å finne ut hvordan jeg skal få en knapp på tastaturet til å bli trykket ned automatisk, gjerne 10 ganger i sekundet, uten å stoppe før jeg slår det av selv.

 

På et spill som jeg spiller, så vil det være veldig gunstig at "Shift" blir klemt ned automatisk mange ganger i sekundet. Hvis jeg har forstått det rikitg, så er det ingen egen funksjon for dette i Windows, så jeg må ha et eget program. Muligens Script av noe slag? Jeg har veldig liten peiling på dette, så hvis det er noen som hadde giddet å lage et script til meg som gjør at "Shift" trykker ned seg selv ca 10 ganger i sekundet, så hadde det vært det beste.

 

Det trenger ikke nødvendigvis å være shift. Gjerne hvilken som helst knapp på tastaturet, hvis det er enklere.

 

Har prøvd å googlet det, og kommet fram til at kanskje programmet "AutoHotkey" kan brukes, men som sagt, så må jeg ha et script, og jeg kan ingenting om det.

 

Håper noen kan hjelpe meg med dette.

 

 

Mvh

Treasure

Endret av Treasure
Lenke til kommentar
Videoannonse
Annonse

Du kan bruke AutoIt (http://www.autoitscript.com/autoit3/index.shtml) for å lage og kjøre slike script.

 

Hvis du laster ned og installer, kan du så skrive følgende lille script for å trykke venstre shift hvert 60 milisekund og holde den nede i 20 milisekunder:

 

Opt("SendKeyDownDelay", 20)
While 1
 Send("{LSHIFT}");			
 Sleep(60)
WEnd

Endret av what_no2000
Lenke til kommentar

Legger også ved et eksempel på et script som hvert halve sekund (500 milisekunder) sjekker om A testen (41) holdes nede, og i så fall trykker venstre ctrl tast (LCTRL) ned hvert 60+20=80 milisekund, og holder den nede i 20 milisekunder.

 

#comments-start

Values to be used together with send to send special characters:

{!} ! 
{#} # 
{+} + 
{^} ^ 
{{} { 
{}} } 
{SPACE} SPACE 
{ENTER} ENTER key on the main keyboard 
{ALT} ALT 
{BACKSPACE} or {BS} BACKSPACE 
{DELETE} or {DEL} DELETE 
{UP} Up arrow 
{DOWN} Down arrow 
{LEFT} Left arrow 
{RIGHT} Right arrow 
{HOME} HOME 
{END} END 
{ESCAPE} or {ESC} ESCAPE 
{INSERT} or {INS} INS 
{PGUP} PGUP 
{PGDN} PGDN 
{F1} - {F12} Function keys 
{TAB} TAB 
{PRINTSCREEN} PRINTSCR 
{LWIN} Left Windows key 
{RWIN} Right Windows key 
{NUMLOCK} NUMLOCK 
{BREAK} for Ctrl+Break processing 
{PAUSE} PAUSE 
{CAPSLOCK} CAPSLOCK 
{NUMPAD0} - {NUMPAD9} Numpad digits 
{NUMPADMULT} Numpad Multiply 
{NUMPADADD} Numpad Add 
{NUMPADSUB} Numpad Subtract 
{NUMPADDIV} Numpad Divide 
{NUMPADDOT} Numpad period 
{NUMPADENTER} Enter key on the numpad 
{APPSKEY} Windows App key 
{LALT} Left ALT key 
{RALT} Right ALT key 
{LCTRL} Left CTRL key 
{RCTRL} Right CTRL key 
{LSHIFT} Left Shift key 
{RSHIFT} Right Shift key 
{SLEEP} Computer SLEEP key 
{ALTDOWN} Holds the ALT key down until {ALTUP} is sent 
{SHIFTDOWN} Holds the SHIFT key down until {SHIFTUP} is sent 
{CTRLDOWN} Holds the CTRL key down until {CTRLUP} is sent 
{LWINDOWN} Holds the left Windows key down until {LWINUP} is sent 
{RWINDOWN} Holds the right Windows key down until {RWINUP} is sent 
{ASC nnnn} Send the ALT+nnnn key combination 

{BROWSER_BACK} 2000/XP Only: Select the browser "back" button 
{BROWSER_FORWARD} 2000/XP Only: Select the browser "forward" button 
{BROWSER_REFRESH} 2000/XP Only: Select the browser "refresh" button 
{BROWSER_STOP} 2000/XP Only: Select the browser "stop" button 
{BROWSER_SEARCH} 2000/XP Only: Select the browser "search" button 
{BROWSER_FAVORITES} 2000/XP Only: Select the browser "favorites" button 
{BROWSER_HOME} 2000/XP Only: Launch the browser and go to the home page 
{VOLUME_MUTE} 2000/XP Only: Mute the volume 
{VOLUME_DOWN} 2000/XP Only: Reduce the volume 
{VOLUME_UP} 2000/XP Only: Increase the volume 
{MEDIA_NEXT} 2000/XP Only: Select next track in media player 
{MEDIA_PREV} 2000/XP Only: Select previous track in media player 
{MEDIA_STOP} 2000/XP Only: Stop media player 
{MEDIA_PLAY_PAUSE} 2000/XP Only: Play/pause media player 
{LAUNCH_MAIL} 2000/XP Only: Launch the email application 
{LAUNCH_MEDIA} 2000/XP Only: Launch media player 
{LAUNCH_APP1} 2000/XP Only: Launch user app1 
{LAUNCH_APP2} 2000/XP Only: Launch user app2 

Values to be used together with _IsPressed:

01 Left mouse button
02 Right mouse button
04 Middle mouse button (three-button mouse)
05 Windows 2000/XP: X1 mouse button
06 Windows 2000/XP: X2 mouse button
08 BACKSPACE key
09 TAB key
0C CLEAR key
0D ENTER key
10 SHIFT key
11 CTRL key
12 ALT key
13 PAUSE key
14 CAPS LOCK key
1B ESC key
20 SPACEBAR
21 PAGE UP key
22 PAGE DOWN key
23 END key
24 HOME key
25 LEFT ARROW key
26 UP ARROW key
27 RIGHT ARROW key
28 DOWN ARROW key
29 SELECT key
2A PRINT key
2B EXECUTE key
2C PRINT SCREEN key
2D INS key
2E DEL key
30 0 key
31 1 key
32 2 key
33 3 key
34 4 key
35 5 key
36 6 key
37 7 key
38 8 key
39 9 key
41 A key
42 B key
43 C key
44 D key
45 E key
46 F key
47 G key
48 H key
49 I key
4A J key
4B K key
4C L key
4D M key
4E N key
4F O key
50 P key
51 Q key
52 R key
53 S key
54 T key
55 U key
56 V key
57 W key
58 X key
59 Y key
5A Z key
5B Left Windows key
5C Right Windows key
60 Numeric keypad 0 key
61 Numeric keypad 1 key
62 Numeric keypad 2 key
63 Numeric keypad 3 key
64 Numeric keypad 4 key
65 Numeric keypad 5 key
66 Numeric keypad 6 key
67 Numeric keypad 7 key
68 Numeric keypad 8 key
69 Numeric keypad 9 key
6A Multiply key
6B Add key
6C Separator key
6D Subtract key
6E Decimal key
6F Divide key
70 F1 key
71 F2 key
72 F3 key
73 F4 key
74 F5 key
75 F6 key
76 F7 key
77 F8 key
78 F9 key
79 F10 key
7A F11 key
7B F12 key
7C-7F F13 key - F16 key
80H-87H F17 key - F24 key
90 NUM LOCK key
91 SCROLL LOCK key
A0 Left SHIFT key
A1 Right SHIFT key
A2 Left CONTROL key
A3 Right CONTROL key
A4 Left MENU key
A5 Right MENU key
BA ;
BB =
BC ,
BD -
BE .
BF /
C0 `
DB [
DC \
DD ]

#comments-end

Endret av what_no2000
Lenke til kommentar

Takk, dette skal testes ut.

 

Jeg skulle også gjerne hatt et script som fikk "z" til å trykkes ned i 5ms, og 1ms etterpå så trykkes "ALT" ned i 5ms. Dette scriptet vil jeg ikke at skal starte/gjenta seg automatisk, men det skal aktiveres da jeg klemmer på for eksempel "x"

 

Kan du fikse det for meg tror du?

Endret av datating
Lenke til kommentar
Jeg skulle også gjerne hatt et script som fikk "z" til å trykkes ned i 5ms, og 1ms etterpå så trykkes "ALT" ned i 5ms. Dette scriptet vil jeg ikke at skal starte/gjenta seg automatisk, men det skal aktiveres da jeg klemmer på for eksempel "x"

 

Kan du fikse det for meg tror du?

 

Litt usikker på hva du vil, men hvis du vil at scriptet, så lenge du holder x nede, skal trykke og slippe z, og så trykke og slippe VENSTRE alt, og dette skal gjenta seg så lenge du holder x nede så kan du bruke det scriptet jeg beskrev i post nr 2, du må bare endre litt på verdiene til variablene i starten:

 

#include <Misc.au3>

$SleepAuto = Number (5)
$SleepNotPressed = Number(5)
$AutofireKey = String("58") ; X
$FireKey = String("z{LALT}")
Opt("SendKeyDelay", 1)		 
Opt("SendKeyDownDelay", 5)	 

$dll = DllOpen("user32.dll")
While 1
while _IsPressed($Autofirekey, $dll)
	Send($FireKey)			
	Sleep($SleepAuto)
WEnd
Sleep($SleepNotPressed)
WEnd
DllClose($dll)

Endret av what_no2000
Lenke til kommentar
Det er faktisk noe jeg også lurer på. I AutoIt hvordan blir scriptet hvis jeg kun ønsker at knappen TAB skal kun trykkes èn gang? Takkr

 

Er ikke sikker på om jeg forstår hva du mener, det er vel ingen grunn til å lage et script som trykker TAB en gang?

 

Mener du f.eks at TAB skal trykkes flere ganger når du holder en annen tast nede? Da kan du også bruke det scriptet jeg postet i andre melding, du må bare justere {LCTRL} til {TAB}.

Lenke til kommentar
Jeg skulle også gjerne hatt et script som fikk "z" til å trykkes ned i 5ms, og 1ms etterpå så trykkes "ALT" ned i 5ms. Dette scriptet vil jeg ikke at skal starte/gjenta seg automatisk, men det skal aktiveres da jeg klemmer på for eksempel "x"

 

Kan du fikse det for meg tror du?

 

Hvis du derimot bare vil at ETT trykk på X skal føre til ETT trykk på z fulgt av ETT trykk på venstre alt. DVS: at du må trykke 10 ganger på x for å få 10 trykk av z fulgt av venstre alt, så må du skrive det slik:

 

HotKeySet("x", "PressKeys")
Opt("SendKeyDelay", 1)		 
Opt("SendKeyDownDelay", 5)  

While 1
Sleep(1000)
WEnd

Func PressKeys()
send("z{LALT}")
EndFunc

 

Håper det ikke er online spill mot andre dere vil bruke dette på, for da jukser dere vet dere...

Endret av what_no2000
Lenke til kommentar
Hvis du derimot bare vil at ETT trykk på X skal føre til ETT trykk på z fulgt av ETT trykk på venstre alt. DVS: at du må trykke 10 ganger på x for å få 10 trykk av z fulgt av venstre alt, så må du skrive det slik:

 

HotKeySet("x", "PressKeys")
Opt("SendKeyDelay", 1)		 
Opt("SendKeyDownDelay", 5)  

While 1
Sleep(1000)
WEnd

Func PressKeys()
send("z{LALT}")
EndFunc

 

Det er det jeg mener. Problemet er at det ikke fungerer da jeg kjører et program i fullskjerm.

Endret av Treasure
Lenke til kommentar
Det er det jeg mener. Problemet er at det ikke fungerer da jeg kjører et program i fullskjerm.

 

Hvis du lagrer skriptet som filnavn.au3, og starter skriptet ved å dobbeltklikke på skriptet (slik at ikonet kommer opp i systemtray) før du starter spillet, burde det virke mens du er i full screen etterpå. Du trenger ikke å gjøre noen med ikonet som kommer opp i systemtray med mindre du vil pause eller skru av skriptet.

 

Virker skriptet for deg hvis du starter det, og så starter notepad eller wordpad, og trykker x?

Lenke til kommentar
Det er det jeg mener. Problemet er at det ikke fungerer da jeg kjører et program i fullskjerm.

 

Hvis du lagrer skriptet som filnavn.au3, og starter skriptet ved å dobbeltklikke på skriptet (slik at ikonet kommer opp i systemtray) før du starter spillet, burde det virke mens du er i full screen etterpå. Du trenger ikke å gjøre noen med ikonet som kommer opp i systemtray med mindre du vil pause eller skru av skriptet.

 

Virker skriptet for deg hvis du starter det, og så starter notepad eller wordpad, og trykker x?

 

Har gjort som du sa, og scriptet fungerer i notepad, men ikke i fullskjerm. Har prøvd å kjøre scriptet som administrator også, men uten hell. Har Vista hvis det har noe å si.

Lenke til kommentar
Har gjort som du sa, og scriptet fungerer i notepad, men ikke i fullskjerm. Har prøvd å kjøre scriptet som administrator også, men uten hell. Har Vista hvis det har noe å si.

 

Forsøk å endre hvor lang tid hver tast skal holdes nede før den slippes og hvor lang tid det skal ta mellom hvert tastatrykk, prøv f.eks med 500 (et halvt sekund) og se om det hjelper:

 

Opt("SendKeyDelay", 500)

Opt("SendKeyDownDelay", 500)

 

Hvis det løser problemet så kan du forsøke med mindre tider etterpå.

 

Hvis det ikke hjelper hjelper så tror jeg ikke du får det til.

Lenke til kommentar
Gjest
Dette emnet er stengt for flere svar.
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...