Immettere i file di configurazione del dispositivo

I file di configurazione dei dispositivi di input (file .idc ) contengono proprietà di configurazione specifiche del dispositivo che influiscono sul comportamento dei dispositivi di input.

I file di configurazione dei dispositivi di input in genere non sono necessari per le periferiche standard come tastiere e mouse HID poiché il comportamento predefinito del sistema di solito garantisce che funzionino immediatamente. D'altro canto, i dispositivi integrati integrati, in particolare i touch screen, richiedono quasi sempre file di configurazione del dispositivo di input per specificarne il comportamento.

Fondamento logico

Android rileva e configura automaticamente la maggior parte delle funzionalità del dispositivo di input in base ai tipi di eventi e alle proprietà segnalati dal driver del dispositivo di input del kernel Linux associato.

Ad esempio, se un dispositivo di input supporta il tipo di evento EV_REL e i codici REL_X e REL_Y nonché il tipo di evento EV_KEY e BTN_MOUSE , Android classificherà il dispositivo di input come un mouse. Il comportamento predefinito di un mouse è quello di presentare un cursore sullo schermo che traccia i movimenti del mouse e simula il tocco quando si fa clic sul mouse. Sebbene il mouse possa essere configurato in modo diverso, il comportamento predefinito è generalmente sufficiente per le periferiche del mouse standard.

Alcune classi di dispositivi di input sono più ambigue. Ad esempio, i touch screen multi-touch e i touch pad supportano almeno il tipo di evento EV_ABS e i codici ABS_MT_POSITION_X e ABS_MT_POSITION_Y . Tuttavia, gli usi previsti di questi dispositivi sono molto diversi e non possono sempre essere determinati automaticamente. Inoltre, sono necessarie informazioni aggiuntive per dare un senso alle informazioni sulla pressione e sulle dimensioni riportate dai dispositivi touch. Pertanto i dispositivi touch, in particolare i touch screen integrati, di solito necessitano di file IDC.

Posizione

I file di configurazione del dispositivo di input si trovano in base al fornitore USB, all'ID del prodotto (e facoltativamente alla versione) o al nome del dispositivo di input.

I seguenti percorsi vengono consultati in ordine.

  • /odm/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /vendor/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /system/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /data/system/devices/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /odm/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /vendor/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /system/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /data/system/devices/idc/Vendor_XXXX_Product_XXXX.idc
  • /odm/usr/idc/ device-name .idc
  • /vendor/usr/idc/ device-name .idc
  • /system/usr/idc/ device-name .idc
  • /data/system/devices/idc/ device-name .idc

Quando si costruisce un percorso file che contiene il nome del dispositivo, tutti i caratteri nel nome del dispositivo diversi da '0'-'9', 'a'-'z', 'A'-'Z', '-' o '_' vengono sostituiti da '_'.

Sintassi

Un file di configurazione del dispositivo di input è un file di testo semplice composto da assegnazioni di proprietà e commenti.

Proprietà

Ciascuna assegnazione di proprietà è composta da un nome di proprietà, un = , un valore di proprietà e una nuova riga. Come questo:

property = value

I nomi delle proprietà sono identificatori di testo letterali non vuoti. Non devono contenere spazi bianchi. Ciascun componente del sistema di input definisce un insieme di proprietà che vengono utilizzate per configurarne la funzione.

I valori delle proprietà sono stringhe letterali non vuote, numeri interi o numeri in virgola mobile. Non devono contenere spazi bianchi o caratteri riservati \ o " .

I nomi e i valori delle proprietà fanno distinzione tra maiuscole e minuscole.

Commenti

Le righe di commento iniziano con "#" e continuano fino alla fine della riga. Come questo:

# A comment!

Le righe vuote vengono ignorate.

Esempio

# This is an example of an input device configuration file.
# It might be used to describe the characteristics of a built-in touch screen.

# This is an internal device, not an external peripheral attached to the USB
# or Bluetooth bus.
device.internal = 1

# The device should behave as a touch screen, which uses the same orientation
# as the built-in display.
touch.deviceType = touchScreen
touch.orientationAware = 1

# Additional calibration properties...
# etc...

Proprietà comuni

La seguente proprietà è comune a tutte le classi di dispositivi di input.

Fare riferimento alla documentazione di ciascuna classe di dispositivi di input per informazioni sulle proprietà speciali utilizzate da ciascuna classe.

device.internal

Definizione: device.internal = 0 | 1

Specifica se il dispositivo di input è un componente interno integrato anziché una periferica collegata esternamente (molto probabilmente rimovibile).

  • Se il valore è 0 , il dispositivo è esterno.

  • Se il valore è 1 , il dispositivo è interno.

  • Se il valore non è specificato, il valore predefinito è 0 per tutti i dispositivi sul bus USB (BUS_USB) o Bluetooth (BUS_BLUETOOTH), 1 altrimenti.

Questa proprietà determina le decisioni di policy predefinite relative agli eventi di riattivazione.

I dispositivi di input interni generalmente non riattivano il display dalla modalità di sospensione a meno che non siano esplicitamente configurati per farlo nel file di layout dei tasti o in una regola di policy codificata. Questa distinzione impedisce che la pressione dei tasti e il tocco riattivino in modo spurio il telefono quando è in tasca. Di solito sono definite solo una manciata di chiavi di riattivazione.

Al contrario, i dispositivi di input esterni di solito riattivano il dispositivo in modo più aggressivo perché si presume che siano spenti o non collegati durante il trasporto. Ad esempio, la pressione di un tasto qualsiasi su una tastiera esterna è un buon indicatore del fatto che l'utente desidera che il dispositivo si riattivi e risponda.

È importante assicurarsi che il valore della proprietà device.internal sia impostato correttamente per tutti i dispositivi di input interni.

Validazione

Assicurati di convalidare i file di configurazione del dispositivo di input utilizzando lo strumento Validate Keymaps .

,

I file di configurazione dei dispositivi di input (file .idc ) contengono proprietà di configurazione specifiche del dispositivo che influiscono sul comportamento dei dispositivi di input.

I file di configurazione dei dispositivi di input in genere non sono necessari per le periferiche standard come tastiere e mouse HID poiché il comportamento predefinito del sistema di solito garantisce che funzionino immediatamente. D'altra parte, i dispositivi integrati integrati, in particolare i touch screen, richiedono quasi sempre file di configurazione del dispositivo di input per specificarne il comportamento.

Fondamento logico

Android rileva e configura automaticamente la maggior parte delle funzionalità del dispositivo di input in base ai tipi di eventi e alle proprietà segnalati dal driver del dispositivo di input del kernel Linux associato.

Ad esempio, se un dispositivo di input supporta il tipo di evento EV_REL e i codici REL_X e REL_Y nonché il tipo di evento EV_KEY e BTN_MOUSE , Android classificherà il dispositivo di input come un mouse. Il comportamento predefinito di un mouse è quello di presentare un cursore sullo schermo che traccia i movimenti del mouse e simula il tocco quando si fa clic sul mouse. Sebbene il mouse possa essere configurato in modo diverso, il comportamento predefinito è generalmente sufficiente per le periferiche del mouse standard.

Alcune classi di dispositivi di input sono più ambigue. Ad esempio, i touch screen multi-touch e i touch pad supportano almeno il tipo di evento EV_ABS e i codici ABS_MT_POSITION_X e ABS_MT_POSITION_Y . Tuttavia, gli usi previsti di questi dispositivi sono molto diversi e non possono sempre essere determinati automaticamente. Inoltre, sono necessarie informazioni aggiuntive per dare un senso alle informazioni sulla pressione e sulle dimensioni riportate dai dispositivi touch. Pertanto i dispositivi touch, in particolare i touch screen integrati, di solito necessitano di file IDC.

Posizione

I file di configurazione del dispositivo di input si trovano in base al fornitore USB, all'ID del prodotto (e facoltativamente alla versione) o al nome del dispositivo di input.

I seguenti percorsi vengono consultati in ordine.

  • /odm/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /vendor/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /system/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /data/system/devices/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /odm/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /vendor/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /system/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /data/system/devices/idc/Vendor_XXXX_Product_XXXX.idc
  • /odm/usr/idc/ device-name .idc
  • /vendor/usr/idc/ device-name .idc
  • /system/usr/idc/ device-name .idc
  • /data/system/devices/idc/ device-name .idc

Quando si costruisce un percorso file che contiene il nome del dispositivo, tutti i caratteri nel nome del dispositivo diversi da '0'-'9', 'a'-'z', 'A'-'Z', '-' o '_' vengono sostituiti da '_'.

Sintassi

Un file di configurazione del dispositivo di input è un file di testo semplice composto da assegnazioni di proprietà e commenti.

Proprietà

Ciascuna assegnazione di proprietà è composta da un nome di proprietà, un = , un valore di proprietà e una nuova riga. Come questo:

property = value

I nomi delle proprietà sono identificatori di testo letterali non vuoti. Non devono contenere spazi bianchi. Ciascun componente del sistema di input definisce un insieme di proprietà che vengono utilizzate per configurarne la funzione.

I valori delle proprietà sono stringhe letterali non vuote, numeri interi o numeri in virgola mobile. Non devono contenere spazi bianchi o caratteri riservati \ o " .

I nomi e i valori delle proprietà fanno distinzione tra maiuscole e minuscole.

Commenti

Le righe di commento iniziano con "#" e continuano fino alla fine della riga. Come questo:

# A comment!

Le righe vuote vengono ignorate.

Esempio

# This is an example of an input device configuration file.
# It might be used to describe the characteristics of a built-in touch screen.

# This is an internal device, not an external peripheral attached to the USB
# or Bluetooth bus.
device.internal = 1

# The device should behave as a touch screen, which uses the same orientation
# as the built-in display.
touch.deviceType = touchScreen
touch.orientationAware = 1

# Additional calibration properties...
# etc...

Proprietà comuni

La seguente proprietà è comune a tutte le classi di dispositivi di input.

Fare riferimento alla documentazione di ciascuna classe di dispositivi di input per informazioni sulle proprietà speciali utilizzate da ciascuna classe.

device.internal

Definizione: device.internal = 0 | 1

Specifica se il dispositivo di input è un componente interno integrato anziché una periferica collegata esternamente (molto probabilmente rimovibile).

  • Se il valore è 0 , il dispositivo è esterno.

  • Se il valore è 1 , il dispositivo è interno.

  • Se il valore non è specificato, il valore predefinito è 0 per tutti i dispositivi sul bus USB (BUS_USB) o Bluetooth (BUS_BLUETOOTH), 1 altrimenti.

Questa proprietà determina le decisioni di policy predefinite relative agli eventi di riattivazione.

I dispositivi di input interni generalmente non riattivano il display dalla modalità di sospensione a meno che non siano esplicitamente configurati per farlo nel file di layout dei tasti o in una regola di policy codificata. Questa distinzione impedisce che la pressione dei tasti e il tocco riattivino in modo spurio il telefono quando è in tasca. Di solito sono definite solo una manciata di chiavi di riattivazione.

Al contrario, i dispositivi di input esterni di solito riattivano il dispositivo in modo più aggressivo perché si presume che siano spenti o non collegati durante il trasporto. Ad esempio, la pressione di un tasto qualsiasi su una tastiera esterna è un buon indicatore del fatto che l'utente desidera che il dispositivo si riattivi e risponda.

È importante assicurarsi che il valore della proprietà device.internal sia impostato correttamente per tutti i dispositivi di input interni.

Validazione

Assicurati di convalidare i file di configurazione del dispositivo di input utilizzando lo strumento Validate Keymaps .