Delen via


Knopfunctiematrices

Een functiematrix voor knoppen bevat informatie over de knopgebruiken die worden ondersteund door een verzameling op het hoogste niveau voor een specifiek type HID-rapport. Informatie over de mogelijkheden van een verzameling bevindt zich in de HIDP_CAPS structuur.

Een gebruikersmodustoepassing of kernelmodusstuurprogramma maakt gebruik van een van de volgende HIDClass-ondersteuningsroutines voor het verkrijgen van knopfunctieinformatie:

Een functiematrix voor knoppen bevat HIDP_BUTTON_CAPS structuren, die elk de volgende informatie bevatten over een HID-gebruiks - of gebruiksbereik:

  • De gebruikspagina voor het gebruik of gebruiksgebied

  • De rapport-ID van het rapport dat de knopgegevens bevat

  • De gebruiks-id of het gebruiksbereik

  • Een vlag die aangeeft of een gebruik een aliasgebruik is

  • De linkcollectie die het gebruik of gebruiksbereik bevat

  • De tekenreeksdescriptors en aanduiders die zijn gekoppeld aan het gebruiks- of gebruiksbereik (zie Aanduidersindexitem en tekenreeksindexitem)

  • De data-indices die de HID-parser heeft toegewezen aan het gebruiksdoeleinde of gebruiksbereik

Over het algemeen zijn de volgende voorwaarden van toepassing op alle gebruiksopties die worden beschreven door een matrix met knopmogelijkheden:

  • Elke capaciteitsstructuur vertegenwoordigt één gebruiks- of gebruiksbereik dat is gekoppeld aan een variabel hoofditem of een matrixhoofditem.

  • Aliassen kunnen worden gebruikt met een veranderlijk hoofditem. Een gebruik dat is gekoppeld aan een matrixitem, kan niet worden gealiaseerd. Een gebruiksbereik kan niet worden gealiaseerd.

  • De HID-parser gebruikt alleen het minimaal vereiste aantal gebruiksrechten om een gebruik aan elke knop toe te wijzen. De parser wijst gebruik toe in de volgorde waarin ze zijn opgegeven in een rapportdescriptor. Gebruik in een rapportdescriptor die niet vereist is, wordt genegeerd. De functiematrix voor knoppen bevat geen informatie over genegeerd gebruik.

  • Als het aantal opgegeven gebruiksgegevens voor een variabele item kleiner is dan het aantal knoppen in het item, bevat de mogelijkheidmatrix slechts één capaciteitsstructuur die één knopgebruik beschrijft (het laatste gebruik dat is opgegeven in de rapportdescriptor voor het hoofditem van de variabele). Zie de matrix met gebruikswaarden voor informatie over gebruikswaarden met een rapportaantal groter dan één.

  • De HID-parser wijst een unieke gegevensindex toe aan elk gebruik dat in de mogelijkheidsmatrix wordt beschreven.

In de volgende onderwerpen wordt besproken hoe de capaciteitsstructuren zijn georganiseerd en ingesteld in een knopcapaciteitsarray.

Gebruik van knoppen in een variabel hoofditem

Elk gebruiks - of gebruiksbereik dat is opgegeven in een rapportdescriptor, wordt beschreven door een eigen capaciteitsstructuur in een functiematrix voor knoppen.

Het IsAlias-lid van capabiliteitsstructuren wordt gebruikt om als volgt een set van n aliasgebruik op te geven:

  • IsAlias is ingesteld op TRUE in de eerste n-1-mogelijkheidsstructuren die zijn toegevoegd aan de mogelijkheidsmatrix. IsAlias ingesteld op FALSE in de ndecapaciteitsstructuur. Het voorkeursgebruik is het laatste aliasgebruik in de reeks.

Een toepassing of stuurprogramma kan bepalen welke knopfuncties met elkaar verbonden zijn door te scannen op dergelijke reeksen.

De volgende tabel bevat een overzicht van een voorbeeld voor drie aliasgebruiken.

Aliasgebruiksvolgorde in een rapportdescriptor Gebruiksvolgorde in een mogelijkheidsmatrix IsAlias-lidwaarde
gebruik 1 gebruik 3 WAAR
gebruik 2 gebruik 2 WAAR
gebruik 3 gebruik 1 ONWAAR

Zie Gegevensindexen voor informatie over hoe gebruiks- en gegevensindexen worden gekruisverwijzen.

Knopgebruik in een hoofditem van een matrix

Elk gebruiks - of gebruiksbereik voor een hoofditem van een knopmatrix dat is opgegeven in een rapportdescriptor, wordt beschreven door een eigen capaciteitsstructuur in een knopfunctiematrix. De volgorde waarin de mogelijkheidsstructuren worden toegevoegd aan een mogelijkheidsmatrix, is het omgekeerde van de volgorde waarin het gebruik wordt opgegeven voor een hoofditem.

De HID-parser wijst een gegevensindex toe aan elk gebruik dat is gekoppeld aan het matrixitem in de volgorde waarin de gebruiksbewerkingen zijn opgegeven in een rapportdescriptor. In de volgende tabel ziet u bijvoorbeeld de correspondentie tussen een set gebruiksgegevens, zoals opgegeven in een rapportdescriptor, en de gebruiks- en gegevensindexen, zoals opgegeven in de mogelijkheidmatrix. (In deze tabel is n de eerste gegevensindex die de parser toewijst aan het eerste gebruik dat is gekoppeld aan het matrixitem.)

Gebruiksvolgorde in rapportdescriptor Gebruiksvolgorde in mogelijkheidmatrix DataIndex of van DataIndexMin naar DataIndexMax
gebruik 1 gebruiksbereik 2 van n+7 tot n+8
gebruiksbereik 1 (met 4 gebruiksrechten) gebruik 2 n+5
gebruik 2 gebruiksbereik 1 van n+1 tot n+4
gebruiksbereik 2 (met 2 gebruiksrechten) gebruik 1 n