odchytenie stlacenia FN

Programovacie jazyky, rady, poradňa...
manager666
Star
Star
Používateľov profilový obrázok
Príspevky: 642
Registrovaný: 12 aug 2007, 13:29

odchytenie stlacenia FN

Príspevok od používateľa manager666 »

Zdravim vas....
Potrebujem odchytit na mojom notebooku stlacenie klavesy FN, ale akosi tato klavesa neodosiela pri stlaceni acsii kod, ako ktorakolvek ina, cize neviem vobec zistit funkciou GetPressedKey, ze je stlacena...neda sa este nejakou inou metodou zistit jej stlacenie ?
vdaka za odpovede...

p.s. pracujem vo VB 6.0
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

neviem ako je to vo VB, ale v každom jazyku sú tzv virtual keys - klávesy ktoré nemajú ascii hodnotu (to je ctrl, shift, f1-f12, alt, capsLock, pageup/pagedown...)
manager666
Star
Star
Používateľov profilový obrázok
Príspevky: 642
Registrovaný: 12 aug 2007, 13:29

Príspevok od používateľa manager666 »

ok...takze kedze nema ascii hodnotu,to znamena, ze je to len virtualna klavesa...tak da sa odchytit ? lebo vsetky klavesy mi idu odchytit okrem toho FN...ktore je najdolezitejsie :(
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

ty si to nehodil do googla, že nie? Vravím že neviem ako je to vo VB, ale odchytiť určite ide. V delphi majú virtuálne klávesy napríklad svoje konštantné pomenovanie, (vkShift, vkEscape, vkPause, vkF10...). Hoď virtual keys v súvislosti s VB do googla a určite niečo nájdeš.

//edit: keď sa pozreš sem: http://msdn.microsoft.com/en-us/library/ms645540.aspx tak ich tam máš aj v hex, čiže F1 by malo byť 0x70 až 0x7B pre F12
tuti
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 740
Registrovaný: 01 okt 2006, 19:23
Bydlisko: Prievidza

Príspevok od používateľa tuti »

audiotrack napísal://edit: keď sa pozreš sem: http://msdn.microsoft.com/en-us/library/ms645540.aspx tak ich tam máš aj v hex, čiže F1 by malo byť 0x70 až 0x7B pre F12
ty si v tom odkaze niekde nasiel tlacidlo FN ? :shock: kedze sa pytal prave na hento tlacidlo
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

hopla, kým som napísal post tak sa mi to v hlave pretransformovalo na funkčný kláves :)
ale aj FN bude určite ako virtual key. Niekde som na nete pri hladaní našiel do VB funkciu čo ti tú hodnotu vráti v hex, tak cez ňu si to môže zistiť. Už sa mi to znova nechce hladať.

//autoeditácia príspevku ( 03 Oct 2008, 0:04 )
tak som znova pogooglil, a našiel som že to asi nebude také jednoduché:
Sorry, sometimes we see dreams instead of reality. And for me here I thought: Here is an easy one in VB.
But, you are right. In my understanding of world order FN key in this is tested by hardware, because that functionality simply replaces need to have some extra hardware controls on your laptop: like, switches, sliders, rotator switches etc.

Probably you could catch it, but only with deep understanding of hardware of your laptop.
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Prečo by nemali fungovať tie virtuálne kódy? V normálnom programovacom jazyku to funguje, takže nemôže byť problém to nejako použiť ani vo VB6.
uelektronik
Star
Star
Používateľov profilový obrázok
Príspevky: 524
Registrovaný: 05 aug 2006, 14:08

Príspevok od používateľa uelektronik »

Pokial viem tak Fn odchytava BIOS a neposiela tu udalost do vyssich vrstiev.
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

To či to vygeneruje nejaký kód závisí od modelu toho NB. Niektoré asi naozaj nevygenerujú vôbec nič, ale iné môžu vygenerovať ACPI event (niekedy len pre kombináciu Fn+kláves a iné aj pre samotné Fn)...
manager666
Star
Star
Používateľov profilový obrázok
Príspevky: 642
Registrovaný: 12 aug 2007, 13:29

Príspevok od používateľa manager666 »

takze nakoniec som odchytil ascii kod jednotlivych kombinacii s FN tlacidlom, ale vacsina posiela spat hodnotu 255, co je zle...pretoze nemam ako rozlisit,co je teda stlacene...ale este sa s tym pohram a verim, ze daco vymyslim
:wink:
Napísať odpoveď