Witam. Chcialbym stworzyc swoj wlasny sterownik klawiatury. Moim glownym celem jest to, zeby ignorowal niektore klawisze (zalezy mi najbardziej na win). Znalazlem program KbdEdit, ktory by sie do tego w pelni nadawal, ale jest strasznie drogi. Niestety mimo mojego dosyc sporego googlowania i wyszukiwania na tej stronie odnajdywalem jedynie teksty typu "musisz zmienic sam sterownik klawiatury lub stworzyc nowy". No wlasnie, jak? I czy dalo by sie to zrobic w pascalu?
w pascalu na pewno nie, dało by się w delphi. Ale to by było jak oranie pola zapałką. Do pisania sterowników dla windowsa jednak najlepszy jest c++. Co do Twojego problemu to może wystarczy hook na klawiaturę i nie przekazywanie dalej, że dany klawisz został wciśnięty.
BTW jeśli 100zł za wersję full to dla Ciebie jest drogo no to sorry...
musisz zmienic sam sterownik klawiatury lub stworzyc nowy
jeśli mówimy o windowsie, nie musisz tworzyć nowego sterownika. można użyć wpisów w rejestrze do przemapowania scancode'ów klawiatury.
jest to dosyć kiepsko udokumentowane, ze strony microsoftu istnieje tylko taki dość trudny i starodawny opis
http://msdn.microsoft.com/en-us/windows/hardware/gg463447
mowa jest w nim o Windowsie 2000, ale wiem że pod Vistą na pewno też to działa. Pod Win7 nigdy nie sprawdzałem.
same scancode'y potrzebne do przemapowania można znaleźć m.in. w tym dokumencie
http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/scancode.doc
tylko nie pamiętam teraz czy potrzeba kodów „scan 1 make” czy „scan 2 make”, ale na pewno „make” a nie „break”.
nie jest łatwo przez to wszystko przebrnąć, ale na pewno metoda działa, bo cały czas mam przemapowane w ten sposób kilka klawiszy na laptopie z XP-kiem (konkretnie jest to przesunięcie prawego alta w wygodniejsze miejsce, poświęcenie jakiegoś nadmiarowego slasha i wyczarowanie prawego controla który w ogóle w tym laptopie nie istnieje).
cała robota sprowadza się do opracowania prawidłowego wpisu do rejestru.
dalej: jeśli chciałbyś zmienić nie klawisze funkcyjne, tylko alfanumeryczne - np. zmienić kolejność liter z QWERTY na inny, albo dodać jakieś umlauty pod altem (albo i bez alta), albo dodać tzw. martwe klawisze — w polskim układzie „martwa” jest tylda ~ (można jej użyć do wpisywania polskich liter zamiast alta) — to właściwsze będzie opracowanie własnego układu klawiatury, zamiast „Polski programisty”. Do tego służy program MSKLC.
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=22339
Nie chcialbym wydawac 100 zl na pelna wersje, poniewaz wiem, ze sa na to darmowe sposoby. A po drugie chce sie tylko pobawic jak na razie, a nie tworzyc jakies profesjonalne uklady klawiatur i potem je rozpowszechniac. W przyszlosci prawdopodobnie mi sie przyda, ale jak na razie chcial bym nauczyc sie pisac takie rzeczy samemu. Mimo tego, ze pewnie bedzie to bardzo ciezkie. Zainstaluje w takim razie c++ i popatrze jakies manuale w internecie, mam nadzieje, ze znajde to czego szukalem. Popatrze rowniez wszystkie programy i stronki przeslane przez was :).
@Azarien MKLC sprawdzalem juz pare dni temu, nie wystarczaja mi jego opcje. Nie mozna wyedytowac klawisza Win.
Dziekuje. Jezeli bedziecie mieli jeszcze jakies propozycje to chetnie je poczytam :).
DDDK for Delphi