Android çerçevesinde validatekeymaps
adlı küçük bir araç bulunur. Bu araç,
giriş cihazı yapılandırma dosyalarının söz dizimi, tuş düzeni dosyaları, anahtar karakteri
eşlemeleri için bu aracı kullanabilirsiniz.
Derleme
validatekeymaps
dosyasını derlemek için geliştirme ortamını kurun, indirin
indirin, derleyin ve çalıştırın:
mmm frameworks/base/tools/validatekeymaps
Bu komut, 2007'de DGR'de doğrulanabilir anahtar
out/host/<os>/bin
dizini.
Kullanım
Geliştirme ortamınızı kurmak için envsetup.sh
çalıştırdıysanız
validatekeymaps
aracı zaten yolunuzda olmalıdır. Doğrulama
bunu validatekeymaps
çalıştırarak yapabilirsiniz.
validatekeymaps
Aşağıdaki çıkışı göreceksiniz:
Keymap Validation Tool Usage: validatekeymaps [*.kl] [*.kcm] [*.idc] [virtualkeys.*] [...] Validates the specified key layouts, key character maps, input device configurations, or virtual key definitions.
Sonra tek yapmanız gereken validatekeymaps
komutunu çalıştırmak ve
bir veya daha fazla dosya eklemeniz gerekebilir.
validatekeymaps frameworks/base/data/keyboards/Generic.kl
Örnek:
Validating file 'frameworks/base/data/keyboards/Generic.kl'... No errors. Success.
Bir hata varsa...
validatekeymaps Bad.kl
Örnek:
Validating file 'Bad.kl'... E/KeyLayoutMap(87688): Bad.kl:24: Expected keyword, got 'ke'. Error -22 parsing key layout file. Failed!
Otomasyon
Tüm yapılandırma dosyalarında validatekeymaps
çalıştırmak çok iyi bir fikirdir
yapmanız gerekir.
İşlem, derleme sisteminin bir parçası olarak bir oluşturabilirsiniz.
Aşağıdaki örnek makefile,
frameworks/base/data/keyboards/Android.mk
# This makefile performs build time validation of framework keymap files. LOCAL_PATH := $(call my-dir) # Validate all key maps. include $(CLEAR_VARS) validatekeymaps := $(HOST_OUT_EXECUTABLES)/validatekeymaps$(HOST_EXECUTABLE_SUFFIX) files := MyKeyboard.kl MyKeyboard.kcm MyTouchScreen.idc LOCAL_MODULE := validate_framework_keymaps LOCAL_MODULE_TAGS := optional LOCAL_REQUIRED_MODULES := validatekeymaps validate_framework_keymaps: $(files) $(hide) $(validatekeymaps) $(files) include $(BUILD_PHONY_PACKAGE)