Zařízení s největší pravděpodobností obdrží soubor v 02 s názvem 15 kde N jsou různá zařízení, jako je myš, klávesnice, konektor, tlačítka napájení atd.
09
by vám měl napovědět.
Podívejte se také na:
18
Kde 28 hodnota je cesta pod 34 .
Můžete otestovat např.
26
K implementaci použijte ioctl a zkontrolujte zařízení + monitor.
ÚPRAVA 2:
OK. Rozšiřuji tuto odpověď na základě předpokladu 47 se používá.
Jeden způsob by mohl být:
-
Při spouštění smyčky všech
55soubory nalezené v65. Použijte70k vyžádání bitů události:30
pak zkontrolujte, zda
88-bit je nastaven. -
Nastavte IFF a poté zkontrolujte klíče:
48
Např. pokud jsou číselné klávesy zajímavé, zkontrolujte, zda jsou bity pro
98-106a110na129. -
Byly nalezeny klíče IFF a poté začněte monitorovat soubor událostí ve vláknu.
-
Zpět na 1.
Tímto způsobem byste měli sledovat všechna zařízení, která splňují požadovaná kritéria. Nemůžete zkontrolovat pouze 134 jako např. power-button bude mít tento bit nastavený, ale evidentně nebude mít 148 atd. set.
Viděli jste falešně pozitivní výsledky u exotických klíčů, ale u normálních klíčů toto by mělo stačit. Není přímo na škodu sledovat např. soubor události pro tlačítko napájení nebo konektor, ale ty nevysílají příslušné události (neboli špatný kód).
Více podrobností níže.
ÚPRAVA 1:
Pokud jde o „Vysvětlete to poslední prohlášení…“ . Přechod do stackoverflow přistane tady… ale:
Rychlý a špinavý vzorek v C. Budete muset implementovat různé kódy, abyste zkontrolovali, že skutečně máte správné zařízení, typ události překladu, kód a hodnotu. Obvykle klávesa dolů, klávesa nahoru, opakování klávesy, kód klávesy atd.
Nemáte čas (a je tu příliš mnoho) přidat zbytek.
Podívejte se na 153 , programy jako 164 , kód jádra atd. pro mapovací kódy. Např. 173
Každopádně:
Spustit jako např.:
57
Kód:
69
EDITACE 2 (pokračování):
Všimněte si, že když se podíváte na 185 na začátku každého řádku máte písmeno. Zde 196 znamená bitovou mapu. To je například:
71
Každý z těchto bitů odpovídá vlastnosti zařízení. Což pomocí bitové mapy znamená, že 1 znamená, že je přítomna vlastnost, jak je definováno v 209 . :
88
Podívejte se na 213 ve zdrojovém stromu jádra. Je tam spousta dobrého kódu. (Např. vlastnosti zařízení jsou vytvářeny touto funkcí.)
Každé z těchto map vlastností lze dosáhnout pomocí 223 . Chcete-li například zkontrolovat, jaké vlastnosti LED jsou k dispozici, řekněte:
98
Podívejte se na definici 235 v 247 jak 256 jsou definovány.
Chcete-li zkontrolovat stav kontrolek LED, řekněte:
105
Pokud je bit 1 v 262 jsou 1, pak svítí num-lock. Pokud je bit 2 1, svítí Caps Lock atd.
275 má různé definice.
Poznámky, pokud jde o monitorování událostí:
Pseudokód pro monitorování by mohl být něco ve směru:
113
Některé související dokumenty:
288, esp. poznámka k části 5.292, popis různých událostí atd. Všimněte si toho, co je uvedeno např.306asi315323... pokud chcete, přečtěte si zbytek.
Můžete to udělat snadno odkazem na 339 . Ty se zobrazují jako symbolické odkazy, které můžete dereferencovat pomocí 340 k určení přidruženého blokového zařízení. Tyto odkazy však vytváří 351 které nemusí být přítomné ve vašem vestavěném prostředí.
Nebo... Podívejte se na 360 po připojení USB zařízení. Mělo by vám to dát 371 uzel.