Tworzenie sterownika klawiatury

Tworzenie sterownika klawiatury

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

R1
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 9 lat
  • Postów:7
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?

Misiekd
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 12 lat
  • Postów:7923
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...


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij
Azarien
pascal to język, nie kompilator. nie ma powodu, by we Free Pascalu nie dało się czegoś co da się w Delphi.
Riddle
Delphi to też język.
adf88
100zł drogą nie chodzi. Jeśli pożytek z tego programu nie jest tyle wart dla nas, to nie ma co wydawać. W tym sensie jak najbardziej może być to "za dużo" (zysk < koszt). Nie każdy jest bogaty.
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:2 dni
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

edytowany 5x, ostatnio: Azarien
R1
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 9 lat
  • Postów:7
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 :).

Azarien
ale można wyedytować w rejestrze, zgodnie z opisem który podałem.
0

DDDK for Delphi

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)