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
55
soubory nalezené v65
. Použijte70
k 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
-106
a110
na129
. -
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ř.306
asi315
323
... 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.