Knapptryck när skärmen ändras.

Permalänk

Knapptryck när skärmen ändras.

Så jag letar efter något lätt program som håller koll på en liten den av skärmen och när den ändras så sänder den ett knapptryck. Jag vill att den bara skickar när den går från grön till röd, och inte röd till grön, och den fortsätter efter att lampan har blivit grön igen.

ex, jag har en liten grön lampa på skärmen, och när den ändras till rött så vill jag att programmet skickar "F" tangenten, lampan blir sedan grön efter ett tag och när den blir röd så skickar den tangenten igen.

Någon som vet om ett sådant program finns?

Permalänk
Medlem

Lite mer bakgrundsfakta skulle hjälpa?

Är det ett program på din dator? Vad heter programmet? Vad gör det? Vad är det som triggar det?

Visa signatur

MS-DOS 6.22 | Windows 3.11 | Windows 95A/B | Windows 98 A/B | Windows 2000 | ME | Windows XP | Windows Vista | Windows 7 | Windows 8 | Windows 8.1 | Windows 10

Permalänk

Det är ett python script som tar bilder som sedan laddas, programmet ska kolla om några pixlar har ändras på ett speciellt ställe som sedan då ska trigga en knapptryckning.

Permalänk

Ingen som vet om ett sådant program finns?

Permalänk
Medlem

Kolla koden från t ex ambilight DIY-kits. Knapptryckningen är nog inget problem att ordna.

Visa signatur

CITERA FÖR SVAR

Dator: *Censurerad av Jantelagen*

Permalänk
Medlem

Enkelt script i autohotkey:

OBS nu har jag inte testat det själv

Loop { PixelSearch, FoundX, FoundY, 1100, 500, 1680, 1050, 0x1DE6B5(här byter du till din färgkod), 3(färgvariation), fast If ErrorLevel = 0 Send, f Sleep, 1000 } f12:: ExitApp

Förklaring söker efter pixlar i en viss färg inom koordinaterna 1100, 500, 1680, 1050 på din skärm, hittar den grön så trycker den f och sover 1 sek, sen börjar den om igen. Ändra detta till dina värden genom att använda windowspy som följer med autohotkey. F12 är panikknappen om nåt går fel. Pixelsearch och imagesearch funkar dåligt när du kör aero-temat i windows om du har låga sleep-värden

Läs mer här:
http://www.autohotkey.com/docs/commands/PixelSearch.htm

EDIT: FoundX, FoundY, är outputvariablar o kan användas om du vill ta fram den informationen senare.

EDIT2: Fattade fel först...

Visa signatur

Gigabyte RTX 3070 | Samsung 980 | AMD 5950x
32GB 3600MHz CL14 | Corsair RM850X | ASUS ROG CROSSHAIR VIII DARK HERO
Skärm: Acer 27" ConceptD CP3271KP IPS 4K HDR 144 hz

Skriv gärna ett svar om ditt problem löste sig.

Permalänk
Medlem

Hoppas det gick bra för dig... Alltid kul o veta om man hjälpt någon

Visa signatur

Gigabyte RTX 3070 | Samsung 980 | AMD 5950x
32GB 3600MHz CL14 | Corsair RM850X | ASUS ROG CROSSHAIR VIII DARK HERO
Skärm: Acer 27" ConceptD CP3271KP IPS 4K HDR 144 hz

Skriv gärna ett svar om ditt problem löste sig.

Permalänk
Skrivet av thom.g:

Hoppas det gick bra för dig... Alltid kul o veta om man hjälpt någon

Ledsen att svara så sent, haft problem där det har hotas med advokater.

OT, visste inte att autohotkey hade scanpixel command. Dett underlättar ganska mycket då jag redan kör med autohotkey script. Får leta fram exakt vilka pixlar det är och skaffa rätt hex till färgen så borde det funka utmärkt.

Tackar för hjälpen.

EDIT:
Får det inte att funka.

som test har jag gjort,

Loop { PixelSearch, FoundX, FoundY, X460, Y515, 1680, 1050, 0xFFFFFF, 0, fast If ErrorLevel = 0 Send, f Sleep, 1000 } f12:: ExitApp

Men den spammar f hela tiden.

Jag får fram färg och pos genom,

^!x:: ; Control+Alt+Z hotkey. MouseGetPos, xpos, ypos Msgbox, The cursor is at X%xpos% Y%ypos%. return exit ^!z:: ; Control+Alt+Z hotkey. MouseGetPos, MouseX, MouseY PixelGetColor, color, %MouseX%, %MouseY% MsgBox The color at the current cursor position is %color%. return

Så då får jag rätt färg + pos.

Jag kan gissa på att det är fel position som jag har fått. Då jag skriver "X460 Y515" och den använder 1680, 1050 som hela skärmen, så jag tror att det blir något fel där. Men det är sent och min hjärna har slutat att fungera, så jag klurar lite imorgon på det.

EDIT2:
Ah, så den letar från XY till XY, kanske kan få det att funka nu.

EDIT3:
Så jag får det fortfarande inte att funka, nu har jag gjort så jag får fram färg + position med hjälp av,

#Persistent SetTimer, WatchCursor, 100 return WatchCursor: MouseGetPos, , , id, control MouseGetPos, xpos, ypos PixelGetColor, color, %xpos%, %ypos% ToolTip, X%xpos% Y%ypos%. %color% return f12:: ExitApp

blir lättare att hitta allt. Jag ska testa och se om programmet gör en fyrkant som den läser alla pixlar i när jag ger den två positioner på skärmen.

EDIT4:
Har svårt att veta om jag har fått rätt färg + position. Jag kan inte se vart på skärmen positionen är för varje ruta har egen position. och färgen värkar jag inte kunna se. Inte ens google vet vad jag skriver in....

EDIT5: Antingen så ändras positionen lite då och då eller så har jag fel färg med fel position. aka: det går inte bra.

Permalänk
Medlem

Lät jobbigt med advokater??? Använd pixelsearch på hela skärmen? Eller har du färger runt som kan störa?

EDIT: Skicka ett screenshot så kanske jag kan hjälpa bättre

Visa signatur

Gigabyte RTX 3070 | Samsung 980 | AMD 5950x
32GB 3600MHz CL14 | Corsair RM850X | ASUS ROG CROSSHAIR VIII DARK HERO
Skärm: Acer 27" ConceptD CP3271KP IPS 4K HDR 144 hz

Skriv gärna ett svar om ditt problem löste sig.

Permalänk
Medlem

Testa skärmdumpa och öppna bilden i paint så kan du se koordinaterna med lätthet, då du håller över bilden.

Visa signatur

Facebookdatorn:: Define R6 TG, Aourus Master Z390, 8700K 5.0GHz, 32GB RAM 2666MHz, 2x RTX2080, Samsung C32HG70, 250GB 970 SSD, 500GB 860 SSD + 2TB WD Green, 2TB WD Red
Bild: Nikon D300s m. grepp, Nikon D700 m. grepp, Nikon D3000 IR-konverterad, SX60HS, FZ200, FZ300, EOS M, SB910, 24-70 f/2.8, 50mm f/1.8 mm. Hero 3 Black, Hero 4 Black, Hero 4 Silver Övrigt: Laptop U500VZ-CM083H m. 12GB RAM. HTPC: Äldre i5 1080TI, 32GB Ram

Permalänk

Det finns olika färger på bilden så det kommer troligen att hitta samma färg. Fast jag kan söka på ett mindre utrymme. Men om jag kan hitta vad det är för färg så borde det gå bättre. Jag letade på google fast hitta ingen som kan säga vad 0xE1BB44 är för färg. Det bör vara en ljus blå färg, som sedan triggar när den blir mörkblå.

Just nu har jag,

Loop { PixelSearch, FoundX, FoundY, 1495, 1001, 1496, 1003, 0xE1BB44, 255, fast If ErrorLevel = 0 Send, f Sleep, 1000 } f12:: ExitApp

Och den vägrar trigga. Jag har fått den att trigga fast då kör den utan att något på skärmen ändras. Så om jag kan få att när en färg ändras till en annan färg som jag har angivit så tror jag att det blir bättre.

Permalänk
Medlem

Om du vill utesluta koordinater och färg, gör en bild i Photoshop, gör den helt svart och kopiera färgbilder. Ställ in valfri målpixel och att den ska trigga ESC istället vid aktivering.

Öppna bilden i fullskärm och kör igång så ser du om själva skriptet fungerar som det ska. Detta gör ju att du garanterat får rätt förg och den kollar en pixel som har den färgkoden vilken pixel den än kollar på.

Skickades från m.sweclockers.com

Visa signatur

Skrivet med hjälp av Better SweClockers
PC: Ryzen 9 5900X | RTX 4080 Super 16GB | G.Skill Trident Z Neo 64GB 3600MHz CL16 | 12TB NVMe SSD - 5TB SATA SSD = total 17TB SSD + Seagate IronWolf 10TB internal HDD | Synology DS920+ w/20GB RAM SHR 48TB
Skärmar: Acer Predator XB323UGX 32" 270Hz 1440p, Asus PG349Q 34" 120Hz 1440p UW, Asus PG279Q 27"
Foto:
Canon 80D & 60D + Canon 17-55/2.8 IS, Canon 10-22, Canon 70-200/2.8L IS II, Canon 100/2.8L IS Macro

Permalänk
Medlem
Skrivet av Frejoh466:

Det finns olika färger på bilden så det kommer troligen att hitta samma färg. Fast jag kan söka på ett mindre utrymme. Men om jag kan hitta vad det är för färg så borde det gå bättre. Jag letade på google fast hitta ingen som kan säga vad 0xE1BB44 är för färg. Det bör vara en ljus blå färg, som sedan triggar när den blir mörkblå.

Just nu har jag,

[CODE]Loop

PixelSearch, FoundX, FoundY, 1495, 1001, 1496, 1003, 0xE1BB44, 255, fast

Med 255 triggar den ju på allt.

Använder du windowspy för att kolla färgen?

https://www.dropbox.com/s/1230esb190u62rd/windowspy.png

Sen ser jag i ditt script att du bara söker mellan 3 pixlar på y-led. Kanske inte behövs mer men det skadar ju inte att öka den lite kanske?

Visa signatur

Gigabyte RTX 3070 | Samsung 980 | AMD 5950x
32GB 3600MHz CL14 | Corsair RM850X | ASUS ROG CROSSHAIR VIII DARK HERO
Skärm: Acer 27" ConceptD CP3271KP IPS 4K HDR 144 hz

Skriv gärna ett svar om ditt problem löste sig.

Permalänk

windowspy fungerar inte då jag använder Windows och man alt+tabbar om man trycker shift+alt+tab. Samt and den vägra trigga. så jag ökade till 255men det fungerade fortfarande inte.

Lyckades med min andra monitor att se window spy, fast fick det inte att fungera som jag ville. jag får väll ta och hitta en annan lösning. (färgen tycks ändras)

Men annars så tror jag att det mesta fungerar, men jag kanske får göra ett bättre python script eller an annan lösning för att få det att fungera som jag vill.

Permalänk
Medlem

Gör ett printscreen på den skärmen du vill använda windowspy på. Lägg in bilden, använd windowspy på den.

Visa signatur

Gigabyte RTX 3070 | Samsung 980 | AMD 5950x
32GB 3600MHz CL14 | Corsair RM850X | ASUS ROG CROSSHAIR VIII DARK HERO
Skärm: Acer 27" ConceptD CP3271KP IPS 4K HDR 144 hz

Skriv gärna ett svar om ditt problem löste sig.