

Jaký scan code má "kontextové menu"?
Nikde nemůžu najít, jaký scan code vrací stisknutí klávesy "kontextová nabídka" (je vlevo od pravýho Ctrl).
Poradí mi někdo?
Pavel
Nikde nemůžu najít, jaký scan code vrací stisknutí klávesy "kontextová nabídka" (je vlevo od pravýho Ctrl).
Poradí mi někdo?
Pavel
Zpět do poradny Odpovědět na původní otázku Nahoru
Podle všeho je to VK_APPS (bez záruky), scan code buď 5D E0 nebo 5D 00 - nicméně ani jeden mi nefunguje.
Snažím se přemapovat tuhle klávesu v registrech, nedaří se mi.
Pavel
Ne, je to VK_RWIN, číslenou hodnotu jdu zjistit.
//Edit: Píšou:
VK_LWIN = 91;
VK_RWIN = 92;
WK_RWIN je druhá klávea Windows, ale já mluvím o kontext. menu s potiskem myši a kontext. nabídky.
Pavel
Jj, máš pravdu. Jdu hledat v lexikonech dál, možná je to ta VK_APPS, ale ono přemapování některých kláves v registru nejde, je to sloveno střevama Win ještě dřív. Jediná možnost je asi naprogramovat hook.
//Edit: Widle to mapujou na Shift+F10, co chytat tohle?
remapper co je vo Win sa da nastavit len na fyzicke scan kody, nepliest do toho virtualne kody klaves ani dalsie remapovanie VK na cokolvek, to sa deje az potom.
Specifikaciu scan kodov od MS mas tu
http://download.microsoft.com/download/1/6/1/161ba5 12-40e2-4cc9-843a-923143f3456c/scancode.doc
To co chces ty je tzv "application key". Nie som si isty ci ten remapper co sa da nastavit v registroch pouziva scan code set 1 alebo 2 (nie som si isty ze co leze z kbd kontrollera), vyskusaj obe. Myslim ze 1 ale nie som si isty.
P.S. ak ti nieco nejde tak napis presne co do registrov a kam zadavas, aby sa dalo radit konkretne.
Hned to nastuduju. Asi záleží na klávesnici, neboť na externí mi funguje 5DE0, ale na interní ne.
Pavel
Teoreticky by to nemalo zalezat, prakticky ale fungovanie internej klavesnice v notebooku moze byt vselijako divne (kbd kontroller v NB si bastli vyrobca notebooku).
Skus este scancode set 2 (t.j. do registrov zadas scancode: 2FE0)
Samotný přemapování v registrech mi funguje, to dělám dobře. S externí klávesnicí funguje scan code 5DE0 i 5EE0, na interní nefunguje, ach jo, asi to vrací nestand. kód.
Zatím díky všem, jdu spát.
Pavel
pisal som ze skus scancode set 2 (to je podla toho dokumentu E0 2F, takze do registrov zadas 2FE0)
P.S. Neviem odkial si nabral 5EE0? To je power alebo wake.
Tak 2FE0 zase nefunguje. Musím vždy restartovat, tak testování trvá dlouho.
5EE0 jsem našel v tabulce pod 5DE0 (viz tvůj odkaz). Díky za všechno.
Pavel
zbucham ti DOS program ktory bude vypisovat scankody vycitane rovno z kbd kontrollera.
Ten asi nepojede pod Win, že? Nu nic, pokusím se nabootovat DOS. Díky moc za trpělivost a pomoc.
Pavel
Tu to mas aj so zdrojakom Scancodes_DOS.zip
Samozrejme musi sa to spustat v DOSe (ak nemas ziadne DOS CD tak si stiahni startovaciu disketu Win98 apod. www.bootdisk.com, ak nemas disketovu mechaniku v NB tak urob z tej diskety bootovacie CD)
Program sa "ukoncuje" HW-resetom alebo podrzanim za(vy)pinacieho tlacitka PC 5sekund
Radsej nehyb mysou nech sa do toho necpu data od mysi (nemali by ale nechce sa mi to uz testovat).
P.S. samozrejme funguje to len s PS2 klavesnicou (komunikujem s PS2 kontrollerom), malo by aj s internou notebookovou (to by malo byt to iste co PS2), u USB klavesnice to pojde len ak by BIOS robil emulaciu PS2 (USB legacy support).
P.S.2. Daj potom vediet aky dava scancode ta tvoja notebookova klavesnica (sa mi zda hodne divne ze ti to nedava standardne E0 5D, ved v tom pripade ta klavesa ani nemoze fungovat
)
Jenomže jednotlivé bajty je potřeba u tvého programu číst obráceně
.
Ale funguje to...
Moj program to zobrazuje spravne. Obracene to musis cpat do registrov, ptz je to tam ako word, resp doubleword.
Tip: Nieco si precitat o malom a velkom endiane (google: little endian).
Uhm... a funguje ti to na klávesu "kontextová nabídka" ?
Protože mě to na ni nereaguje. Zkoušel jsem to jak na PS2 klávesnici tak na USB.
A co mi ma fungovat?
Ten program samozrejme funguje na vsetky klavesy ak ho spustis v DOSe, a nie pod windows, pisal som ze je to program pre DOS (pod Win to samozrejme nie je jednoduche urobit a urcite by to nebol program o velkosti 100 bytov).
.. inac je mozne ze ak strcis externu PS2 klavesnicu tak sa vypne interna, vytiahni externu a restartuj a skus to tak.
Podle Javy je to 20D (525), ale nevím jestli je to to, co potřebuješ.
viz: http://java.sun.com/docs/books/tutorialJWS/uiswing/ events/ex6/KeyEventDemo.jnlp
Předem upozorňuju na to, že mi nebudete věřit.
Klávesa VK_APPS vrací podle všeho 5DE0. Problém byl v tom, že jsem to do reg souboru "zapsal velkejma", tj. 5DE0. Když jsem to zapsal malejma 5de0, tak mi to funguje.
Ano, vidím, slyším, chápu, že mi nevěříte. Já to říkal - a přesto je to tak.
Pavel
Poděkování patří všem, zejména pak MM.., díky za rady, odborný vedení, program a trpělivost. Máš poklad v nebi.
Pavel