Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Simpel toetsenbord met slaapknop?

Pagina: 1
Acties:

Vraag


  • Rainbow
  • Registratie: Maart 2014
  • Niet online
Een kennis had een vrij simpel toetsenbord die een aantal extra mediatoetsen had en wat toetsen om applicaties te starten (browser e.d.), maar die werden eigenlijk nooit gebruikt. Een knop die echter wel veel gebruikt werd, is een aparte slaapknop. Als die ingedrukt werd, ging de computer in slaapstand (hybride slaap in Windows), alsof je via het startmenu de slaapmodus kiest. Dit zonder aparte software, overigens.

Dit was nogal handig en gemakkelijk, vooral ook omdat af en toe in het startmenu de slaapknop veranderd in een afsluitenknop met een Windows Update icoontje, om updates te installeren, terwijl dat gewoon even niet het goede moment is.

Helaas is het toetsenbord nu kapot, en ben ik op zoek naar een vervangend exemplaar, maar dat blijkt nog knap lastig. De vereisten zijn dat het een standaard QWERTY toetsenbord is (met ook bijv. de backslash boven de Enter, en niet zo'n rare Enter toets), dat het niet allemaal discolichtjes heeft en dergelijke, en dus dat het een aparte slaapknop heeft (eventueel ook met andere extra knoppen, dat maakt niet uit).

Wat ik bijvoorbeeld wel kan vinden, zijn toetsenborden zoals deze: pricewatch: Microsoft Wired Keyboard 600

Die heeft dan een knop om de rekenmachine op te starten. Maar misschien kan dat wel op de een of andere manier veranderd worden zodat met die knop de computer in slaapstand gaat? Ik heb een beetje geprobeerd te zoeken, maar kan niet echt vinden of en hoe dat nou precies mogelijk is.

Bijvoorbeeld: https://superuser.com/que...ulator-key-on-my-keyboard

In dat deel van het register staat niets over de slaapknop en/of de slaapstand.

Ik had ook nog dit gevonden: http://www.pcworld.com/ar...s-sleep-and-shutdown.html

Maar dat commando ("rundll32.exe powrprof.dll,SetSuspendState 0,1,0") werkt voor geen meter bij mij. De ene keer gaat het beeld even op zwart en daarna direct weer aan. De andere keer gaat de computer in hibernate modus (dus niet slaapstand).

Beste antwoord (via Rainbow op 17-05-2017 23:15)


  • McKaamos
  • Registratie: Maart 2002
  • Niet online

McKaamos

Master of the Edit-button

Ik zou er gewoon een tool omheen programmeren met b.v. AutoIT of AutoHotKey.
B.v. je calculatorknop afvangen en dan de keypress code van de slaapknop doorgeven naar het systeem.
Dan laat de de tool gewoon wachten tot het 'event' van de door jou gekozen knop langs komt.
Even compilen naar .exe en in de Startup van Windows neer kiepen zodat de tool permanent zit te luisteren.

Iemand een Tina2 in de aanbieding?

Alle reacties


Acties:
  • Beste antwoord

  • McKaamos
  • Registratie: Maart 2002
  • Niet online

McKaamos

Master of the Edit-button

Ik zou er gewoon een tool omheen programmeren met b.v. AutoIT of AutoHotKey.
B.v. je calculatorknop afvangen en dan de keypress code van de slaapknop doorgeven naar het systeem.
Dan laat de de tool gewoon wachten tot het 'event' van de door jou gekozen knop langs komt.
Even compilen naar .exe en in de Startup van Windows neer kiepen zodat de tool permanent zit te luisteren.

Iemand een Tina2 in de aanbieding?


  • Rainbow
  • Registratie: Maart 2014
  • Niet online
McKaamos schreef op zaterdag 13 mei 2017 @ 10:44:
Ik zou er gewoon een tool omheen programmeren met b.v. AutoIT of AutoHotKey.
B.v. je calculatorknop afvangen en dan de keypress code van de slaapknop doorgeven naar het systeem.
Dan laat de de tool gewoon wachten tot het 'event' van de door jou gekozen knop langs komt.
Even compilen naar .exe en in de Startup van Windows neer kiepen zodat de tool permanent zit te luisteren.
Bedankt voor je reactie. Daar ben ik dus ook al naar aan het kijken als alternatief, bijvoorbeeld met die Microsoft keyboard die ik heb gelinkt. Probleem daarmee is dus dat ik niet kan vinden welk commando de computer in hybride slaap zet.

  • McKaamos
  • Registratie: Maart 2002
  • Niet online

McKaamos

Master of the Edit-button

Rainbow schreef op zaterdag 13 mei 2017 @ 10:46:
[...]


Bedankt voor je reactie. Daar ben ik dus ook al naar aan het kijken als alternatief, bijvoorbeeld met die Microsoft keyboard die ik heb gelinkt. Probleem daarmee is dus dat ik niet kan vinden welk commando de computer in hybride slaap zet.
Je bent ook niet op zoek naar het commando.
Je wil gewoon weten wat de keypress code is van een slaapknop ;)
Daarna is het aan de Windows Powersettings om te bepalen wat er dan verder gebeurt (slaapstand, uitschakelen, etc)

Iemand een Tina2 in de aanbieding?


  • Rainbow
  • Registratie: Maart 2014
  • Niet online
Oh, ik had je antwoord niet goed gelezen, excuses daarvoor! Ik zal daar eens naar op zoek gaan, goede suggestie!

  • BastiaanCM
  • Registratie: Juni 2008
  • Laatst online: 21:38
Ik gebruik hier het tooltje "Keytweak" voor. Daar zit ook een remap naar "Sleep" optie in, niet getest. Deze past volgens mij ergens een register aan, waardoor je het programmatje alleen hoeft te draaien als je iets wil aanpassen. Nadeel is wel dat soms na een grote update (bijv de Windows Creators Update) de settings verloren gaan, dus moet je het even opnieuw doen.

  • McKaamos
  • Registratie: Maart 2002
  • Niet online

McKaamos

Master of the Edit-button

Even in pseudocode (heb al even niks gedaan met AutoIT}:

Visual Basic:
1
2
3
4
5
6
7
8
9
HotKeySet("keycode-van-calculatorknop", SendSleepKey)

Func SendSleepKey()
    Send("{SLEEP}", 0)
EndFunc

While True
    Sleep(1000)
WEnd


En ja, {SLEEP} is al een bestaande sleep-key macro in AutoIT. Je hoeft alleen nog maar even de keycode van Calculator te vinden :)


Korte uitleg:
Met HotKeySet vertel je je script om te luisteren naar de bepaalde knop en indien de knop is ingedrukt, wordt de Function die er na vermeld wordt uitgevoerd.

De Func defineert een functie met een bepaalde naam. Dit kan een collectie van sequentieel uitgevoerde commando's zijn, in dit geval is het gewoon een enkele Send opdracht. Die stuurt in dit geval de keypress van de slaapknop naar Windows. De 0 er achter houdt in dat de macro gebruikt moet worden, als er 1 staat, gaat hij in RAW mode elk genoemd teken versturen.

Dan nog even een While loopje die je script actief houdt. Die heeft verder geen functie, behalve dat je script niet afsluit en een permanent draaiende applicatie zal zijn.

[ Voor 54% gewijzigd door McKaamos op 13-05-2017 11:07 ]

Iemand een Tina2 in de aanbieding?


  • Rainbow
  • Registratie: Maart 2014
  • Niet online
Ik heb op mijn eigen computer geprobeerd met KeyTweak en AutoHotKey om een andere toets te rebinden naar de "sleep" knop, maar beide werken niet. Als ik de aangegeven testknop indruk, gebeurd er simpelweg niets. Misschien om dat te laten werken, moet het toetsenbord al een sleep knop hebben, anders doet Windows er gewoon niets mee?

Ik zal AutoIT eens proberen, McKaamos, bedankt.

Edit gek genoeg werkt dit script wel: https://gist.github.com/davejamesmiller/1965847
(Maar dus via "rundll32" werkte datzelfde niet goed).

Hier staat wel een toets voor de rekenmachine in AutoHotKey (Launch_App2): https://autohotkey.com/docs/KeyList.htm
En via KeyTweak kwam ik erachter dat die code 126 heeft.
Edit: Ik weet niet precies wat het verschil is tussen de key codes van KeyTweak, en de VK codes van AutoHotKey, maar die komen niet overeen.

Wat wel raar is, is dat ik via AutoHotKey kan zien dat volgens dat programma de "Sleep" knop wel wordt ingedrukt (omdat ik dat zo heb ingesteld met KeyTweak), maar Windows er dus gewoon compleet niets mee doet.

Edit2: Ik heb maar gewoon de pricewatch: Microsoft Wired Keyboard 600 besteld dus, met de intentie de rekenmachineknop te veranderen in een slaapknop met of AutoHotKey of AutoIT. Als ik hem binnen heb en dat voor elkaar heb, zal ik de topic markeren als opgelost. :)

[ Voor 63% gewijzigd door Rainbow op 13-05-2017 12:18 ]


  • BastiaanCM
  • Registratie: Juni 2008
  • Laatst online: 21:38
Rainbow schreef op zaterdag 13 mei 2017 @ 11:18:
Ik heb op mijn eigen computer geprobeerd met KeyTweak en AutoHotKey om een andere toets te rebinden naar de "sleep" knop, maar beide werken niet. Als ik de aangegeven testknop indruk, gebeurd er simpelweg niets. Misschien om dat te laten werken, moet het toetsenbord al een sleep knop hebben, anders doet Windows er gewoon niets mee?
Heh wat stom. Inderdaad, hier ook even geprobeerd met verschillende toetsen maar er gebeurd niets.. Dat zal inderdaad door Windows komen (lijkt me). Jammer, want verder is het op zich een fijn tooltje.. Vooral omdat je niet permanent een extra applicatie hoeft de draaien. Nouja, je hebt al wat andere opties.

  • Rainbow
  • Registratie: Maart 2014
  • Niet online
Ik heb het toetsenbord (pricewatch: Microsoft Wired Keyboard 600 dus) ondertussen binnen, en heb met AutoHotKey het volgende scriptje gemaakt:

code:
1
2
Menu, Tray, Icon, powercpl.dll, 6
Launch_App2::DllCall("PowrProf\SetSuspendState", "int", 0, "int", 0, "int", 0)


Deze vervolgens gecompileerd naar een .exe, op de computer gezet, en een snelkoppeling in de Opstarten map in het start menu gezet. Werkt perfect! Tijdens het opstarten van Windows, start dus AutoHotKey met dat script en een eigen icoontje in de taakbalk (dezelfde als die in het configuratiescherm staart bij na hoe lang de computer in slaapstand moet). Als de knop van de rekenmachine wordt ingedrukt, gaat de computer netjes in slaapstand.

Bedankt voor alle suggesties!
Pagina: 1