Czy można wykryć wciśnięcie klawisza FN?

0

Chcę wykryć wciśnięcie klawisza FN. Chcę również zasymulować jego kliknięcie. Czy to wykonalne?

2

Tak.

1

W załączniku masz program w Delphi zakładający lokalnego Hooka na klawiaturę, bo taki nie sprawi problemów przy UAC. Zobacz jaki kod zwraca ten klawisz FN przy naciskaniu, bo nie mogę nic za bardzo znaleźć w spisie kodów vk na MSDNie.

To co chcesz zrobić, da się osiągnąć. Ale globalnym hookiem low levelowym na klawiaturę. Należy sprawdzić czy wciskany klawisz to ten FN, zasymulować poprzez SendInput naciskanie innego, a następnie wyjść z funkcji obsługi Hooka zwracając jeden. Spowoduje to przejęcie oryginalnego klawisza. Poczytaj sobie na MSDNie o WH_KEYBOARD_LL.

0

Sprawdziłem u siebie wciśnięcia klawisza Fn nie jest wykrywane ale klawisz Fn Lock już tak, w programie @olesio to $FF ($FF) za to pod C# Keys.None więc mało pomocna informacja. :P

0

Pytałem o kod klawisza gdyż nie mogę tego sam ustalić (nie posiadam takiego na swojej klawiaturze). Może faktycznie jego kod vk to FF czyli 255. Inne klawisze ze spisu https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx mój kod raczej wykrywa poprawnie oraz podaje nazwe stałej. Oczywiście jeżeli ustali się kod tego klawisza to należy go przechwycić symulując inny, tak jak opisałem to we wcześniejszym postcie.

EDIT: po szybkim googlowaniu w odpowiedziach na pytanie o FN na MSDNie i jakimś wątku na forum Stack OverFlow wynika, że ten kod to raczej faktycznie FF. Najlepiej jakby autor wątku napisał o jaki język programowania mu chodzi by stworzyć taki program, bo tag programowanie jest za ogólny i bzdetny. Nie pasuje tutaj za bardzo.

A kod pokazujący klawisze ma zwrócić kod hex klawisza, jeżeli nie ma go wśród znanych nazw stałych, jakie kiedyś wygooglowałem.

0

@olesio - sprawdziłem u siebie; Poniżej zawartość memo po wciśnięciu i puszczeniu klawisza Fn:

$FF ($FF) - DOWN
$FF ($FF) - UP

1 użytkowników online, w tym zalogowanych: 0, gości: 1