Wątek zablokowany 2015-11-30 21:51 przez furious programming.

Tworzenie sterownika klawiatury

0

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?

0

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...

0

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

0

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 :).

0

DDDK for Delphi

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