Klavye cihazları

Android, özel işlevli tuş takımları (ses seviyesi ve güç kontrolleri), kompakt yerleşik QWERTY klavyeler ve tam özellikli PC tarzı harici klavyeler dahil olmak üzere çeşitli klavye cihazlarını destekler.

Bu belgede yalnızca fiziksel klavyeler açıklanmaktadır. Yazılım klavyeleri (Giriş Yöntemi Düzenleyicileri) hakkında bilgi için Android SDK'ya bakın.

Klavye sınıflandırması

Aşağıdaki koşullardan herhangi biri geçerliyse bir giriş aygıtı klavye olarak sınıflandırılır:

  • Giriş cihazı, 0 ila 0xff veya KEY_OK ila KEY_MAX dahil olmak üzere klavyelerde kullanılan herhangi bir Linux tuş kodunun varlığını bildirir.

  • Giriş cihazı, BTN_0 ila BTN_9 , BTN_TRIGGER ila BTN_DEAD veya BTN_A ila BTN_THUMBR dahil olmak üzere oyun çubukları ve gamepad'lerde kullanılan herhangi bir Linux anahtar kodunun varlığını bildirir.

Joystick'ler şu anda klavye olarak sınıflandırılmaktadır çünkü joystick ve gamepad düğmeleri, EV_KEY olayları tarafından klavye tuşlarının raporlandığı şekilde raporlanmaktadır. Bu nedenle joystick'ler ve oyun kumandaları da yapılandırma için önemli harita dosyalarından yararlanır.

Bir giriş aygıtı klavye olarak sınıflandırıldıktan sonra sistem, klavye için giriş aygıtı yapılandırma dosyasını ve klavye düzenini yükler.

Sistem daha sonra cihazın ek özelliklerini belirlemeye çalışır.

  • Giriş aygıtında KEYCODE_Q ile eşlenen herhangi bir tuş varsa, aygıtın alfabetik bir tuş takımına (sayısal tuş takımının aksine) sahip olduğu kabul edilir. Alfabetik tuş takımı yeteneği, kaynak Configuration nesnesinde KEYBOARD_QWERTY olarak rapor edilir.

  • Giriş aygıtında KEYCODE_DPAD_UP , KEYCODE_DPAD_DOWN , KEYCODE_DPAD_LEFT , KEYCODE_DPAD_RIGHT ve KEYCODE_DPAD_CENTER (hepsi mevcut olmalıdır) ile eşlenen herhangi bir tuş varsa, aygıtın yönlü bir tuş takımına sahip olduğu kabul edilir. Yönlü tuş takımı yeteneği, kaynak Configuration nesnesinde NAVIGATION_DPAD olarak rapor edilir.

  • Giriş cihazında KEYCODE_BUTTON_A ile eşlenen herhangi bir tuş veya oyun kumandasıyla ilgili başka tuşlar varsa, bu durumda cihazın bir oyun kumandasına sahip olduğu kabul edilir.

Klavye sürücüsü gereksinimleri

  1. Klavye sürücüleri yalnızca gerçekte destekledikleri tuşlara ilişkin tuş kodlarını kaydetmelidir. Fazla anahtar kodlarının kaydedilmesi, cihaz sınıflandırma algoritmasını karıştırabilir veya sistemin, cihazın desteklenen klavye özelliklerini yanlış algılamasına neden olabilir.

  2. Klavye sürücüleri, tuşa basıldığını bildirmek için EV_KEY kullanmalıdır; bir tuşun serbest bırakıldığını belirtmek için 0 değerini, bir tuşa basıldığını belirtmek için 1 değerini ve tuşun basıldığını belirtmek için 2 büyük veya ona eşit bir değeri kullanmalıdır. otomatik olarak tekrarlanıyor.

  3. Android kendi klavye tekrarını gerçekleştirir. Sürücüde otomatik tekrarlama işlevi devre dışı bırakılmalıdır.

  4. Klavye sürücüleri isteğe bağlı olarak, MSC_SCANCODE ile EV_MSC ve tuşa basıldığında kullanım veya tarama kodunu belirten bir değeri göndererek HID kullanımını veya düşük seviyeli tarama kodunu belirtebilir. Bu bilgiler şu anda Android tarafından kullanılmamaktadır.

  5. Klavye sürücüleri, EV_LED cihaza yazıldığında LED durumlarının ayarlanmasını desteklemelidir. hid-input sürücüsü bunu otomatik olarak yönetir. Bu yazının yazıldığı sırada Android, LED_CAPSLOCK , LED_SCROLLLOCK ve LED_NUMLOCK kullanıyor. Bu LED'lerin yalnızca klavyede gerçekten ilgili gösterge ışıkları bulunduğunda desteklenmesi gerekir.

  6. Gömülü tuş takımlarına yönelik klavye sürücüleri (örneğin, GPIO matrisi kullanan), aygıt uyku moduna geçtiğinde hâlâ basılan tüm tuşlar için EV_KEY olaylarını 0 değeriyle gönderdiğinden emin olmalıdır. Aksi takdirde tuşlar sıkışabilir ve sonsuza kadar otomatik olarak tekrarlanır.

Klavye işlemi

Aşağıda Android'deki klavye işleminin kısa bir özeti bulunmaktadır.

  1. EventHub , evdev sürücüsündeki ham olayları okur ve klavyenin tuş düzeni haritasını kullanarak Linux anahtar kodlarını (bazen tarama kodları olarak da adlandırılır) Android anahtar kodlarıyla eşler.

  2. InputReader ham olayları tüketir ve meta anahtar durumunu günceller. Örneğin sol kaydırma tuşuna basıldığında veya bırakıldığında okuyucu META_SHIFT_LEFT_ON ve META_SHIFT_ON bitlerini buna göre ayarlayacak veya sıfırlayacaktır.

  3. InputReader InputDispatcher anahtar olay hakkında bilgi verir.

  4. InputDispatcher WindowManagerPolicy WindowManagerPolicy.interceptKeyBeforeQueueing çağırarak anahtar olayıyla ne yapılacağını sorar. Bu yöntem, belirli tuşlara basıldığında cihazın uyanmasından sorumlu olan kritik yolun bir parçasıdır. EventHub bu kritik yolun tamamlanmasını sağlamak için etkin bir şekilde bir uyanık kalma kilidi tutar.

  5. Bir InputFilter şu anda kullanımdaysa, InputDispatcher ona anahtarı kullanma veya dönüştürme şansı verir. InputFilter düşük seviyeli sistem çapında erişilebilirlik politikalarını uygulamak için kullanılabilir.

  6. InputDispatcher , dağıtım iş parçacığında işlenmek üzere anahtarı kuyruğa alır.

  7. InputDispatcher anahtarı kuyruktan çıkardığında, WindowManagerPolicy WindowManagerPolicy.interceptKeyBeforeDispatching çağırarak anahtar olayını ele geçirmesi için ikinci bir şans verir. Bu yöntem, sistem kısayollarını ve diğer işlevleri yönetir.

  8. Daha sonra InputDispatcher anahtar olay hedefini (odaklanmış pencere) tanımlar ve bunların hazır olmasını bekler. Daha sonra, InputDispatcher anahtar olayı uygulamaya iletir.

  9. Uygulamanın içinde anahtar olayı, IME öncesi anahtar gönderimi için görünüm hiyerarşisini aşağıya odaklanmış görünüme yayar.

  10. Anahtar olay IME öncesi gönderimde işlenmiyorsa ve bir IME kullanılıyorsa anahtar olay IME'ye iletilir.

  11. Anahtar olay IME tarafından tüketilmediyse anahtar olay, standart anahtar gönderimi için görünüm hiyerarşisini aşağıya odaklanmış görünüme yayar.

  12. Uygulama, anahtar olayın tüketilip tüketilmediğine ilişkin olarak InputDispatcher rapor verir. Olay tüketilmediyse, InputDispatcher "geri dönüş" davranışını uygulamak için WindowManagerPolicy.dispatchUnhandledKey çağırır. Geri dönüş eylemine bağlı olarak anahtar olay gönderme döngüsü, farklı bir anahtar kodu kullanılarak yeniden başlatılabilir. Örneğin, bir uygulama KEYCODE_ESCAPE işlemiyorsa, sistem bunun yerine anahtar olayını KEYCODE_BACK olarak yeniden gönderebilir.

Klavye yapılandırması

Klavye davranışı klavyenin tuş düzenine, tuş karakter haritasına ve giriş cihazı konfigürasyonuna göre belirlenir.

Klavye yapılandırmasına katılan dosyalar hakkında daha fazla ayrıntı için aşağıdaki bölümlere bakın:

Özellikler

Klavyeler için aşağıdaki giriş cihazı yapılandırma özellikleri kullanılır.

klavye düzeni

Tanım: keyboard.layout = <isim>

.kl uzantısı hariç, giriş aygıtıyla ilişkili tuş düzeni dosyasının adını belirtir. Bu dosya bulunamazsa, giriş sistemi bunun yerine varsayılan tuş düzenini kullanacaktır.

Arama sırasında addaki boşluklar alt çizgiye dönüştürülür.

Daha fazla ayrıntı için tuş düzeni dosyası belgelerine bakın.

klavye.karakter Haritası

Tanım: keyboard.characterMap = <isim>

.kcm uzantısı hariç, giriş aygıtıyla ilişkili anahtar karakter eşleme dosyasının adını belirtir. Bu dosya bulunamazsa, giriş sistemi bunun yerine varsayılan anahtar karakter haritasını kullanacaktır.

Arama sırasında addaki boşluklar alt çizgiye dönüştürülür.

Daha fazla ayrıntı için anahtar karakter eşleme dosyası belgelerine bakın.

klavye.oryantasyonAware

Tanım: keyboard.orientationAware = 0 | 1

Klavyenin ekran yönü değişikliklerine tepki verip vermeyeceğini belirtir.

  • Değer 1 ise yön tuş takımı tuşları ilgili ekran yönü değiştiğinde döndürülür.

  • Değer 0 ise, klavye görüntü yönü değişikliklerinden etkilenmez.

Varsayılan değer 0 .

Yönlendirme farkındalığı, Motorola Droid'de olduğu gibi yön tuş takımı tuşlarının dönüşünü desteklemek için kullanılır. Örneğin, cihaz doğal yönünden saat yönünde 90 derece döndürüldüğünde, KEYCODE_DPAD_UP , cihaz bu yönde tutulduğunda 'yukarı' tuşu 'sağa' işaret ettiğinden KEYCODE_DPAD_RIGHT üretecek şekilde yeniden eşlenir.

klavye.builtIn

Tanım: keyboard.builtIn = 0 | 1

Klavyenin yerleşik (fiziksel olarak bağlı) klavye olup olmadığını belirtir.

Cihaz adı -keypad ile bitiyorsa varsayılan değer 1 , aksi halde 0 .

Yerleşik klavyeye her zaman 0 aygıt kimliği atanır. Yerleşik olmayan diğer klavyelere sıfır olmayan benzersiz aygıt kimlikleri atanır.

Yerleşik klavye için 0 kimliğinin kullanılması, yerleşik klavyenin kimliğini belirten ve değeri 0 olan KeyCharacterMap.BUILT_IN_KEYBOARD alanıyla uyumluluğun sürdürülmesi açısından önemlidir. Bu alan API'de kullanımdan kaldırıldı ancak eski uygulamalar hâlâ onu kullanıyor olabilir.

Özel işlevli bir klavye (anahtar karakter haritası SPECIAL_FUNCTION türünü belirten bir klavye), bu özelliğin ayarına bakılmaksızın hiçbir zaman yerleşik klavye olarak kaydedilmeyecektir. Bunun nedeni, özel işlevli bir klavyenin tanımı gereği genel amaçlı yazım için kullanılması amaçlanmamasıdır.

Örnek konfigürasyonlar

# This is an example input device configuration file for a built-in
# keyboard that has a DPad.

# The keyboard is internal because it is part of the device.
device.internal = 1

# The keyboard is the default built-in keyboard so it should be assigned
# an id of 0.
keyboard.builtIn = 1

# The keyboard includes a DPad which is mounted on the device.  As the device
# is rotated the orientation of the DPad rotates along with it, so the DPad must
# be aware of the display orientation.  This ensures that pressing 'up' on the
# DPad always means 'up' from the perspective of the user, even when the entire
# device has been rotated.
keyboard.orientationAware = 1

Uyumluluk notları

Honeycomb'dan önce klavye giriş eşleyicisi herhangi bir yapılandırma özelliği kullanmıyordu. Tüm klavyelerin fiziksel olarak bağlı olduğu ve oryantasyona duyarlı olduğu varsayılmıştır. Varsayılan anahtar düzeni ve anahtar karakter haritasına Generic yerine qwerty adı verildi. Anahtar karakter haritası formatı da çok farklıydı ve çerçeve, PC tarzı tam klavyeleri veya harici klavyeleri desteklemiyordu.

Cihazları Honeycomb'a yükseltirken gerekli yapılandırma ve anahtar harita dosyalarını oluşturduğunuzdan veya güncellediğinizden emin olun.

HID kullanımları, Linux anahtar kodları ve Android anahtar kodları

Sistem, soyutlama katmanına bağlı olarak birkaç farklı tanımlayıcı kullanan anahtarlara atıfta bulunur.

HID cihazları için her anahtarın ilişkili bir HID kullanımı vardır. Linux hid-input sürücüsü ve ilgili satıcıya ve cihaza özel HID sürücüleri, HID raporlarının ayrıştırılmasından ve HID kullanımlarının Linux anahtar kodlarıyla eşleştirilmesinden sorumludur.

Android, Linux çekirdeğinden EV_KEY olaylarını okurken, her bir Linux anahtar kodunu, cihazın anahtar düzeni dosyasına göre karşılık gelen Android anahtar koduna çevirir.

Key olayı bir uygulamaya gönderildiğinde, android.view.KeyEvent örneği, Linux anahtar kodunu getScanCode() değeri olarak ve Android anahtar kodunu getKeyCode() değeri olarak bildirir. Çerçevenin amaçları açısından yalnızca getKeyCode() değeri önemlidir.

HID kullanım bilgilerinin Android'in kendisi tarafından kullanılmadığını veya uygulamalara aktarılmadığını unutmayın.

Kod tabloları

Aşağıdaki tablolarda HID kullanımlarının, Linux anahtar kodlarının ve Android anahtar kodlarının birbirleriyle nasıl ilişkili olduğu gösterilmektedir.

LKC sütunu, Linux anahtar kodunu onaltılı olarak belirtir.

AKC sütunu, Android anahtar kodunu onaltılık olarak belirtir.

Notlar sütunu, tablodan sonra gönderilen notları ifade eder.

Sürüm sütunu, Android platformunun bu anahtarı varsayılan anahtar haritasına ekleyen ilk sürümünü belirtir. Varsayılan anahtar haritasının sürümler arasında değiştiği durumlarda birden fazla satır gösterilir. Belirtilen en eski sürüm 1.6'dır.

  • Gingerbread (2.3) ve önceki sürümlerde varsayılan anahtar haritası qwerty.kl idi. Bu tuş haritası yalnızca Android Emulator ile kullanılmak üzere tasarlanmış olup, isteğe bağlı harici klavyeleri desteklemek için kullanılmak üzere tasarlanmamıştır. Bununla birlikte, birkaç OEM, platforma Bluetooth klavye desteği ekledi ve gerekli klavye eşlemelerini sağlamak için qwerty.kl güvendi. Sonuç olarak, bu eski eşleştirmeler, bu belirli cihazlar için çevre birimleri üreten OEM'lerin ilgisini çekebilir. Eşlemelerin, özellikle HOME anahtarının işlenmesi açısından mevcut olanlardan önemli ölçüde farklı olduğuna dikkat edin. Tüm yeni çevre birimlerinin Honeycomb'a veya daha yeni anahtar haritalara (ör. standart HID) göre geliştirilmesi önerilir.

  • Honeycomb (3.0)'dan itibaren varsayılan anahtar haritası Generic.kl . Bu tuş haritası, tam PC tarzı klavyeleri destekleyecek şekilde tasarlanmıştır. Standart HID klavyelerin çoğu işlevselliği kutudan çıktığı gibi çalışmalıdır.

Anahtar kod eşlemesi, Linux çekirdeği ve Android sürümlerine göre değişiklik gösterebilir. Android varsayılan anahtar haritalarında değişikliklerin meydana geldiği bilindiğinde, bunlar sürüm sütununda gösterilir.

Cihaza özel HID sürücüleri ve anahtar haritaları, burada belirtilenden farklı eşlemeler uygulayabilir.

HID klavye ve tuş takımı sayfası (0x07)

HID Kullanımı HID Kullanım Adı LKC Linux Anahtar Kodu Adı Sürüm AKC Android Anahtar Kodu Adı Notlar
0x07 0x0001 Klavye Hatası Devri
0x07 0x0002 Klavye POST Başarısız
0x07 0x0003 Tanımlanmamış Klavye Hatası
0x07 0x0004 Klavye a ve A 0x001e KEY_A 1.6 0x001d KEYCODE_A 1
0x07 0x0005 Klavye b ve B 0x0030 ANAHTAR_B 1.6 0x001e KEYCODE_B 1
0x07 0x0006 Klavye c ve C 0x002e ANAHTAR_C 1.6 0x001f KEYCODE_C 1
0x07 0x0007 Klavye d ve D 0x0020 KEY_D 1.6 0x0020 KEYCODE_D 1
0x07 0x0008 Klavye e ve E 0x0012 KEY_E 1.6 0x0021 KEYCODE_E 1
0x07 0x0009 Klavye f ve F 0x0021 KEY_F 1.6 0x0022 KEYCODE_F 1
0x07 0x000a Klavye g ve G 0x0022 KEY_G 1.6 0x0023 KEYCODE_G 1
0x07 0x000b Klavye h ve H 0x0023 KEY_H 1.6 0x0024 KEYCODE_H 1
0x07 0x000c Klavye ben ve ben 0x0017 KEY_I 1.6 0x0025 KEYCODE_I 1
0x07 0x000d Klavye j ve J 0x0024 ANAHTAR_J 1.6 0x0026 KEYCODE_J 1
0x07 0x000e Klavye k ve K 0x0025 KEY_K 1.6 0x0027 KEYCODE_K 1
0x07 0x000f Klavye l ve L 0x0026 KEY_L 1.6 0x0028 KEYCODE_L 1
0x07 0x0010 Klavye m ve M 0x0032 KEY_M 1.6 0x0029 KEYCODE_M 1
0x07 0x0011 Klavye n ve N 0x0031 KEY_N 1.6 0x002a KEYCODE_N 1
0x07 0x0012 Klavye açık ve kapalı 0x0018 KEY_O 1.6 0x002b KEYCODE_O 1
0x07 0x0013 Klavye p ve P 0x0019 KEY_P 1.6 0x002c KEYCODE_P 1
0x07 0x0014 Klavye q ve Q 0x0010 KEY_Q 1.6 0x002d KEYCODE_Q 1
0x07 0x0015 Klavye r ve R 0x0013 KEY_R 1.6 0x002e KEYCODE_R 1
0x07 0x0016 Klavyeler ve S 0x001f ANAHTARLAR 1.6 0x002f KEYCODE_S 1
0x07 0x0017 Klavye t ve T 0x0014 KEY_T 1.6 0x0030 KEYCODE_T 1
0x07 0x0018 Klavye u ve U 0x0016 KEY_U 1.6 0x0031 KEYCODE_U 1
0x07 0x0019 Klavye v ve V 0x002f ANAHTAR_V 1.6 0x0032 KEYCODE_V 1
0x07 0x001a Klavye w ve W 0x0011 KEY_W 1.6 0x0033 KEYCODE_W 1
0x07 0x001b Klavye x ve X 0x002d KEY_X 1.6 0x0034 KEYCODE_X 1
0x07 0x001c Klavye y ve Y 0x0015 ANAHTAR_Y 1.6 0x0035 KEYCODE_Y 1
0x07 0x001d Klavye z ve Z 0x002c KEY_Z 1.6 0x0036 KEYCODE_Z 1
0x07 0x001e Klavye 1 ve ! 0x0002 KEY_1 1.6 0x0008 KEYCODE_1 1
0x07 0x001f Klavye 2 ve @ 0x0003 KEY_2 1.6 0x0009 KEYCODE_2 1
0x07 0x0020 Klavye 3 ve # 0x0004 ANAHTAR_3 1.6 0x000a KEYCODE_3 1
0x07 0x0021 Klavye 4 ve $ 0x0005 KEY_4 1.6 0x000b KEYCODE_4 1
0x07 0x0022 Klavye 5 ve % 0x0006 KEY_5 1.6 0x000c KEYCODE_5 1
0x07 0x0023 Klavye 6 ve ^ 0x0007 ANAHTAR_6 1.6 0x000d KEYCODE_6 1
0x07 0x0024 Klavye 7 ve & 0x0008 KEY_7 1.6 0x000e KEYCODE_7 1
0x07 0x0025 Klavye 8 ve * 0x0009 KEY_8 1.6 0x000f KEYCODE_8 1
0x07 0x0026 Klavye 9 ve ( 0x000a KEY_9 1.6 0x0010 KEYCODE_9 1
0x07 0x0027 Klavye 0 ve ) 0x000b KEY_0 1.6 0x0007 KEYCODE_0 1
0x07 0x0028 Klavye Geri Dönüşü (ENTER) 0x001c KEY_ENTER 1.6 0x0042 KEYCODE_ENTER 1
0x07 0x0029 Klavyeden Kaçış 0x0001 KEY_ESC 3.0 0x006f KEYCODE_ESCAPE
"" "" "" "" 2.3 0x0004 KEYCODE_BACK
0x07 0x002a Klavye SİL (Geri Al) 0x000e KEY_BACKSPACE 1.6 0x0043 KEYCODE_DEL
0x07 0x002b Klavye Sekmesi 0x000f KEY_TAB 1.6 0x003d KEYCODE_TAB
0x07 0x002c Klavye Ara Çubuğu 0x0039 KEY_SPACE 1.6 0x003e KEYCODE_SPACE
0x07 0x002d Klavye - ve _ 0x000c KEY_MINUS 1.6 0x0045 KEYCODE_MINUS 1
0x07 0x002e Klavye = ve + 0x000d KEY_EQUAL 1.6 0x0046 KEYCODE_EQUALS 1
0x07 0x002f Klavye [ ve { 0x001a KEY_LEFTBRACE 1.6 0x0047 KEYCODE_LEFT_BRACKET 1
0x07 0x0030 Klavye ] ve } 0x001b KEY_RIGHTBRACE 1.6 0x0048 KEYCODE_RIGHT_BRACKET 1
0x07 0x0031 Klavye \ ve | 0x002b KEY_BACKSLASH 1.6 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0032 Klavye ABD Dışı # ve ~ 0x002b KEY_BACKSLASH 1.6 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0033 Tuş takımı ; Ve : 0x0027 KEY_SEMICOLON 1.6 0x004a KEYCODE_SEMICOLON 1
0x07 0x0034 Klavye' ve " 0x0028 KEY_APOSTROPHE 1.6 0x004b KEYCODE_APOSTROPHE 1
0x07 0x0035 Klavye ` ve ~ 0x0029 KEY_GRAVE 3.0 0x0044 KEYCODE_GRAVE 1
0x07 0x0036 Klavye ve < 0x0033 KEY_COMMA 1.6 0x0037 KEYCODE_COMMA 1
0x07 0x0037 Tuş takımı . ve > 0x0034 KEY_DOT 1.6 0x0038 KEYCODE_PERIOD 1
0x07 0x0038 Klavye / ve ? 0x0035 KEY_SLASH 1.6 0x004c KEYCODE_SLASH 1
0x07 0x0039 Klavye Büyük Harf Kilidi 0x003a KEY_CAPSLOCK 3.0 0x0073 KEYCODE_CAPS_LOCK
0x07 0x003a Klavye F1 0x003b ANAHTAR_F1 3.0 0x0083 ANAHTAR KODU_F1
"" "" "" "" 1.6 0x0052 KEYCODE_MENU
0x07 0x003b Klavye F2 0x003c ANAHTAR_F2 3.0 0x0084 KEYCODE_F2
"" "" "" "" 1.6 0x0002 KEYCODE_SOFT_RIGHT
0x07 0x003c Klavye F3 0x003d ANAHTAR_F3 3.0 0x0085 ANAHTAR KODU_F3
"" "" "" "" 1.6 0x0005 KEYCODE_CALL
0x07 0x003d Klavye F4 0x003e ANAHTAR_F4 3.0 0x0086 ANAHTAR KODU_F4
"" "" "" "" 1.6 0x0006 KEYCODE_ENDCALL
0x07 0x003e Klavye F5 0x003f ANAHTAR_F5 3.0 0x0087 ANAHTAR KODU_F5
0x07 0x003f Klavye F6 0x0040 ANAHTAR_F6 3.0 0x0088 ANAHTAR KODU_F6
0x07 0x0040 Klavye F7 0x0041 ANAHTAR_F7 3.0 0x0089 KEYCODE_F7
0x07 0x0041 Klavye F8 0x0042 ANAHTAR_F8 3.0 0x008a KEYCODE_F8
0x07 0x0042 Klavye F9 0x0043 ANAHTAR_F9 3.0 0x008b ANAHTAR KODU_F9
0x07 0x0043 Klavye F10 0x0044 ANAHTAR_F10 3.0 0x008c ANAHTAR KODU_F10
"" "" "" "" 2.3 0x0052 KEYCODE_MENU
0x07 0x0044 Klavye F11 0x0057 ANAHTAR_F11 3.0 0x008d ANAHTAR KODU_F11
0x07 0x0045 Klavye F12 0x0058 ANAHTAR_F12 3.0 0x008e ANAHTAR KODU_F12
0x07 0x0046 Klavye Yazdırma Ekranı 0x0063 KEY_SYSRQ 3.0 0x0078 KEYCODE_SYSRQ
0x07 0x0047 Klavye Kaydırma Kilidi 0x0046 KEY_SCROLLLOCK 3.0 0x0074 KEYCODE_SCROLL_LOCK
0x07 0x0048 Klavye Duraklatma 0x0077 KEY_PAUSE 3.0 0x0079 KEYCODE_BREAK
0x07 0x0049 Klavye Ekleme 0x006e KEY_INSERT 3.0 0x007c KEYCODE_INSERT
0x07 0x004a Klavye Ana Sayfası 0x0066 KEY_HOME 3.0 0x007a KEYCODE_MOVE_HOME
"" "" "" "" 1.6 0x0003 KEYCODE_HOME
0x07 0x004b Klavye Sayfası Yukarı 0x0068 KEY_PAGEUP 3.0 0x005c KEYCODE_PAGE_UP
0x07 0x004c Klavye Silme İlet 0x006f KEY_DELETE 3.0 0x0070 KEYCODE_FORWARD_DEL
0x07 0x004d Klavye Sonu 0x006b KEY_END 3.0 0x007b KEYCODE_MOVE_END
"" "" "" "" 1.6 0x0006 KEYCODE_ENDCALL
0x07 0x004e Klavye Sayfası Aşağı 0x006d KEY_PAGEDOWN 3.0 0x005d KEYCODE_PAGE_DOWN
0x07 0x004f Klavye Sağ Ok 0x006a KEY_RIGHT 1.6 0x0016 KEYCODE_DPAD_RIGHT
0x07 0x0050 Klavye Sol Ok 0x0069 KEY_LEFT 1.6 0x0015 KEYCODE_DPAD_LEFT
0x07 0x0051 Klavye Aşağı Ok 0x006c KEY_DOWN 1.6 0x0014 KEYCODE_DPAD_DOWN
0x07 0x0052 Klavye Yukarı Ok 0x0067 KEY_UP 1.6 0x0013 KEYCODE_DPAD_UP
0x07 0x0053 Klavye Num Kilitleme ve Temizleme 0x0045 KEY_NUMLOCK 3.0 0x008f KEYCODE_NUM_LOCK
0x07 0x0054 Klavye / 0x0062 KEY_KPSLASH 3.0 0x009a KEYCODE_NUMPAD_DIVIDE
0x07 0x0055 Klavye * 0x0037 KEY_KPASTERISK 3.0 0x009b KEYCODE_NUMPAD_MULTIPLY
0x07 0x0056 Klavye - 0x004a KEY_KPMINUS 3.0 0x009c KEYCODE_NUMPAD_SUBTRACT
0x07 0x0057 Tuş takımı + 0x004e KEY_KPPLUS 3.0 0x009d KEYCODE_NUMPAD_ADD
0x07 0x0058 Tuş Takımı GİRİŞ 0x0060 KEY_KPENTER 3.0 0x00a0 KEYCODE_NUMPAD_ENTER
0x07 0x0059 Tuş Takımı 1 ve Son 0x004f KEY_KP1 3.0 0x0091 KEYCODE_NUMPAD_1
0x07 0x005a Tuş Takımı 2 ve Aşağı Ok 0x0050 KEY_KP2 3.0 0x0092 KEYCODE_NUMPAD_2
0x07 0x005b Tuş Takımı 3 ve PageDn 0x0051 KEY_KP3 3.0 0x0093 KEYCODE_NUMPAD_3
0x07 0x005c Tuş Takımı 4 ve Sol Ok 0x004b KEY_KP4 3.0 0x0094 KEYCODE_NUMPAD_4
0x07 0x005d Tuş takımı 5 0x004c KEY_KP5 3.0 0x0095 KEYCODE_NUMPAD_5
0x07 0x005e Tuş Takımı 6 ve Sağ Ok 0x004d KEY_KP6 3.0 0x0096 KEYCODE_NUMPAD_6
0x07 0x005f Tuş Takımı 7 ve Ana Sayfa 0x0047 KEY_KP7 3.0 0x0097 KEYCODE_NUMPAD_7
0x07 0x0060 Tuş Takımı 8 ve Yukarı Ok 0x0048 KEY_KP8 3.0 0x0098 KEYCODE_NUMPAD_8
0x07 0x0061 Tuş Takımı 9 ve Sayfa Yukarı 0x0049 KEY_KP9 3.0 0x0099 KEYCODE_NUMPAD_9
0x07 0x0062 Tuş Takımı 0 ve Ekle 0x0052 KEY_KP0 3.0 0x0090 KEYCODE_NUMPAD_0
0x07 0x0063 Klavye . ve Sil 0x0053 KEY_KPDOT 3.0 0x009e KEYCODE_NUMPAD_DOT
0x07 0x0064 Klavye ABD Dışı \ ve | 0x0056 KEY_102ND 4.0 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0065 Klavye Uygulaması 0x007f KEY_COMPOSE 3.0 0x0052 KEYCODE_MENU
"" "" "" "" 1.6 0x0054 KEYCODE_SEARCH
0x07 0x0066 Klavye Gücü 0x0074 KEY_POWER 1.6 0x001a KEYCODE_POWER
0x07 0x0067 Tuş takımı = 0x0075 KEY_KPEQUAL 3.0 0x00a1 KEYCODE_NUMPAD_EQUALS
0x07 0x0068 Klavye F13 0x00b7 ANAHTAR_F13
0x07 0x0069 Klavye F14 0x00b8 ANAHTAR_F14
0x07 0x006a Klavye F15 0x00b9 ANAHTAR_F15
0x07 0x006b Klavye F16 0x00ba ANAHTAR_F16
0x07 0x006c Klavye F17 0x00bb ANAHTAR_F17
0x07 0x006d Klavye F18 0x00bc ANAHTAR_F18
0x07 0x006e Klavye F19 0x00bd ANAHTAR_F19
0x07 0x006f Klavye F20 0x00be ANAHTAR_F20
0x07 0x0070 Klavye F21 0x00bf ANAHTAR_F21
0x07 0x0071 Klavye F22 0x00c0 ANAHTAR_F22
0x07 0x0072 Klavye F23 0x00c1 ANAHTAR_F23
0x07 0x0073 Klavye F24 0x00c2 ANAHTAR_F24
0x07 0x0074 Klavye Çalıştırma 0x0086 KEY_OPEN
0x07 0x0075 Klavye Yardımı 0x008a KEY_HELP
0x07 0x0076 Klavye Menüsü 0x0082 KEY_PROPS
0x07 0x0077 Klavye Seçimi 0x0084 KEY_FRONT
0x07 0x0078 Klavye Durdurma 0x0080 KEY_STOP 3.0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x0079 Yeniden Klavye 0x0081 KEY_AGAIN
0x07 0x007a Klavye Geri Alma 0x0083 KEY_UNDO
0x07 0x007b Klavye Kesimi 0x0089 KEY_CUT
0x07 0x007c Klavye Kopyalama 0x0085 KEY_COPY
0x07 0x007d Klavye Yapıştır 0x0087 KEY_PASTE
0x07 0x007e Klavye Bul 0x0088 KEY_FIND
0x07 0x007f Klavyeyi Sessize Alma 0x0071 KEY_MUTE 3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x07 0x0080 Klavye Sesi Artırma 0x0073 KEY_VOLUMEUP 1.6 0x0018 KEYCODE_VOLUME_UP
0x07 0x0081 Klavye Sesi Kısma 0x0072 KEY_VOLUMEDOWN 1.6 0x0019 KEYCODE_VOLUME_DOWN
0x07 0x0082 Klavye Kilitleme Büyük Harf Kilidi
0x07 0x0083 Klavye Kilitleme Num Lock
0x07 0x0084 Klavye Kilitleme Kaydırma Kilidi
0x07 0x0085 Tuş Takımı Virgül 0x0079 KEY_KPCOMMA 3.0 0x009f KEYCODE_NUMPAD_COMMA
0x07 0x0086 Tuş Takımı Eşittir İşareti
0x07 0x0087 Uluslararası Klavye1 0x0059 KEY_RO
0x07 0x0088 Uluslararası Klavye2 0x005d KEY_KATAKANAHIRAGANA
0x07 0x0089 Uluslararası Klavye3 0x007c KEY_YEN
0x07 0x008a Uluslararası Klavye4 0x005c KEY_HENKAN
0x07 0x008b Klavye Uluslararası5 0x005e KEY_MUHENKAN
0x07 0x008c Uluslararası Klavye6 0x005f KEY_KPJPCOMMA
0x07 0x008d Uluslararası Klavye7
0x07 0x008e Uluslararası Klavye8
0x07 0x008f Uluslararası Klavye9
0x07 0x0090 Klavye LANG1 0x007a KEY_HANGEUL
0x07 0x0091 Klavye LANG2 0x007b KEY_HANJA
0x07 0x0092 Klavye LANG3 0x005a KEY_KATAKANA
0x07 0x0093 Klavye LANG4 0x005b KEY_HIRAGANA
0x07 0x0094 Klavye LANG5 0x0055 KEY_ZENKAKUHANKAKU
0x07 0x0095 Klavye LANG6
0x07 0x0096 Klavye LANG7
0x07 0x0097 Klavye LANG8
0x07 0x0098 Klavye LANG9
0x07 0x0099 Klavye Alternatif Silme
0x07 0x009a Klavye SysReq/Dikkat
0x07 0x009b Klavye İptal
0x07 0x009c Klavye Temizle
0x07 0x009d Klavye Önceki
0x07 0x009e Klavye Dönüşü
0x07 0x009f Klavye Ayırıcı
0x07 0x00a0 Klavye Çıkışı
0x07 0x00a1 Klavye Operatörü
0x07 0x00a2 Klavyeyi Temizle/Tekrar
0x07 0x00a3 Klavye CrSel/Sahne
0x07 0x00a4 Klavye ExSel
0x07 0x00b0 Tuş takımı 00
0x07 0x00b1 Tuş takımı 000
0x07 0x00b2 Binlik Ayırıcı
0x07 0x00b3 Ondalık Ayırıcı
0x07 0x00b4 Para Birimi
0x07 0x00b5 Para Birimi Alt Birimi
0x07 0x00b6 Klavye ( 0x00b3 KEY_KPLEFTPAREN 3.0 0x00a2 KEYCODE_NUMPAD_LEFT_PAREN
0x07 0x00b7 Klavye ) 0x00b4 KEY_KPRIGHTPAREN 3.0 0x00a3 KEYCODE_NUMPAD_RIGHT_PAREN
0x07 0x00b8 Klavye {
0x07 0x00b9 Klavye }
0x07 0x00ba Tuş Takımı Sekmesi
0x07 0x00bb Tuş Takımı Geri Tuşu
0x07 0x00bc Tuş takımı A
0x07 0x00bd Tuş takımı B
0x07 0x00be Tuş takımı C
0x07 0x00bf Tuş takımı D
0x07 0x00c0 Tuş takımı E
0x07 0x00c1 Tuş Takımı F
0x07 0x00c2 Tuş takımı XOR
0x07 0x00c3 Tuş takımı ^
0x07 0x00c4 Klavye %
0x07 0x00c5 Tuş takımı <
0x07 0x00c6 Tuş takımı >
0x07 0x00c7 Klavye &
0x07 0x00c8 Klavye &&
0x07 0x00c9 Tuş takımı |
0x07 0x00ca Tuş takımı ||
0x07 0x00cb Klavye :
0x07 0x00cc Klavye #
0x07 0x00cd Tuş Takımı Alanı
0x07 0x00ce Klavye @
0x07 0x00cf Klavye !
0x07 0x00d0 Tuş Takımı Bellek Deposu
0x07 0x00d1 Tuş Takımı Hafızasını Geri Çağırma
0x07 0x00d2 Tuş Takımı Hafızasını Temizleme
0x07 0x00d3 Tuş Takımı Hafıza Ekleme
0x07 0x00d4 Tuş Takımı Hafıza Çıkarma
0x07 0x00d5 Tuş Takımı Hafızası Çarpma
0x07 0x00d6 Tuş Takımı Bellek Bölme
0x07 0x00d7 Tuş takımı +/-
0x07 0x00d8 Tuş Takımı Temizle
0x07 0x00d9 Tuş Takımı Girişi Temizle
0x07 0x00da Tuş Takımı İkili
0x07 0x00db Tuş Takımı Sekizli
0x07 0x00dc Tuş Takımı Ondalık Sayısı
0x07 0x00dd Tuş Takımı Onaltılı
0x07 0x00e0 Klavye Sol Kontrolü 0x001d KEY_LEFTCTRL 3.0 0x0071 KEYCODE_CTRL_LEFT
0x07 0x00e1 Klavye Sola Shift 0x002a KEY_LEFTSHIFT 1.6 0x003b KEYCODE_SHIFT_LEFT
0x07 0x00e2 Klavye Sol Alt 0x0038 KEY_LEFTALT 1.6 0x0039 KEYCODE_ALT_LEFT
0x07 0x00e3 Klavye Sol GUI 0x007d KEY_LEFTMETA 3.0 0x0075 KEYCODE_META_LEFT
0x07 0x00e4 Klavye Sağ Kontrolü 0x0061 KEY_RIGHTCTRL 3.0 0x0072 KEYCODE_CTRL_RIGHT
0x07 0x00e5 Klavye Sağa Kaydırma 0x0036 KEY_RIGHTSHIFT 1.6 0x003c KEYCODE_SHIFT_RIGHT
0x07 0x00e6 Klavye Sağ Alt 0x0064 KEY_RIGHTALT 1.6 0x003a KEYCODE_ALT_RIGHT
0x07 0x00e7 Klavye Sağ GUI 0x007e KEY_RIGHTMETA 3.0 0x0076 KEYCODE_META_RIGHT
0x07 0x00e8 0x00a4 KEY_PLAYPAUSE 3.0 0x0055 KEYCODE_MEDIA_PLAY_PAUSE
0x07 0x00e9 0x00a6 KEY_STOPCD 3.0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x00ea 0x00a5 KEY_PREVIOUSSONG 3.0 0x0058 KEYCODE_MEDIA_PREVIOUS
0x07 0x00eb 0x00a3 KEY_NEXTSONG 3.0 0x0057 KEYCODE_MEDIA_NEXT
0x07 0x00ec 0x00a1 KEY_EJECTCD 3.0 0x0081 KEYCODE_MEDIA_EJECT
0x07 0x00ed 0x0073 KEY_VOLUMEUP 1.6 0x0018 KEYCODE_VOLUME_UP
0x07 0x00ee 0x0072 KEY_VOLUMEDOWN 1.6 0x0019 KEYCODE_VOLUME_DOWN
0x07 0x00ef 0x0071 KEY_MUTE 3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x07 0x00f0 0x0096 KEY_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x07 0x00f1 0x009e KEY_BACK 1.6 0x0004 KEYCODE_BACK
0x07 0x00f2 0x009f KEY_FORWARD 3.0 0x007d KEYCODE_FORWARD
0x07 0x00f3 0x0080 KEY_STOP 3.0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x00f4 0x0088 KEY_FIND
0x07 0x00f5 0x00b1 KEY_SCROLLUP 3.0 0x005c KEYCODE_PAGE_UP
0x07 0x00f6 0x00b2 KEY_SCROLLDOWN 3.0 0x005d KEYCODE_PAGE_DOWN
0x07 0x00f7 0x00b0 KEY_EDIT
0x07 0x00f8 0x008e KEY_SLEEP
0x07 0x00f9 0x0098 KEY_COFFEE 4.0 0x001a KEYCODE_POWER
0x07 0x00fa 0x00ad KEY_REFRESH
0x07 0x00fb 0x008c KEY_CALC 4.0.3 0x00d2 KEYCODE_CALCULATOR

HID genel masaüstü sayfası (0x01)

HID Kullanımı HID Kullanım Adı LKC Linux Anahtar Kodu Adı Sürüm AKC Android Anahtar Kodu Adı Notlar
0x01 0x0081 Sistemin Kapatılması 0x0074 KEY_POWER 1.6 0x001a KEYCODE_POWER
0x01 0x0082 Sistem Uykusu 0x008e KEY_SLEEP 4.0 0x001a KEYCODE_POWER
0x01 0x0083 Sistem Uyandırma 0x008f KEY_WAKEUP 4.0 0x001a KEYCODE_POWER
0x01 0x0084 Sistem İçeriği Menüsü
0x01 0x0085 Sistem Ana Menüsü
0x01 0x0086 Sistem Uygulama Menüsü
0x01 0x0087 Sistem Menüsü Yardımı
0x01 0x0088 Sistem Menüsü Çıkışı
0x01 0x0089 Sistem Menüsü Seçimi
0x01 0x008a Sistem Menüsü Sağ
0x01 0x008b Sistem Menüsü Sol
0x01 0x008c Sistem Menüsü Yukarı
0x01 0x008d Sistem Menüsü Aşağı
0x01 0x008e Sistem Soğuk Yeniden Başlatma
0x01 0x008f Sistem Sıcakken Yeniden Başlatma
0x01 0x00a0 Sistem Bağlantı İstasyonu
0x01 0x00a1 Sistem Bağlantısının Ayrılması
0x01 0x00a2 Sistem kurulumu
0x01 0x00a3 Sistem Kesintisi
0x01 0x00a4 Sistem Hata Ayıklayıcı Arası
0x01 0x00a5 Başvuru Arası
0x01 0x00a6 Uygulama Hata Ayıklayıcı Arası
0x01 0x00a7 Sistem Hoparlörünü Sessize Alma
0x01 0x00a8 Sistem Hazırda Bekletme
0x01 0x00b0 Sistem Ekranını Tersine Çevirme
0x01 0x00b1 Sistem Ekranı Dahili
0x01 0x00b2 Sistem Ekranı Harici
0x01 0x00b3 Sistem Ekranı Her İkisi
0x01 0x00b4 Sistem Ekranı Çift
0x01 0x00b5 Sistem Ekranı Dahili/Harici Geçişi
0x01 0x00b6 Sistem Ekranı Değiştirme Prim./Sn.
0x01 0x00b7 Sistem Ekranı LCD Otomatik Ölçeklendirme

HID tüketici sayfası (0x0c)

HID Kullanımı HID Kullanım Adı LKC Linux Anahtar Kodu Adı Sürüm AKC Android Anahtar Kodu Adı Notlar
0x0c 0x0030 Güç
0x0c 0x0031 Sıfırla
0x0c 0x0032 Uyumak
0x0c 0x0033 Sonra Uyu
0x0c 0x0034 Uyku modu 0x008e KEY_SLEEP 4.0 0x001a KEYCODE_POWER
0x0c 0x0040 Menü 0x008b KEY_MENU 1.6 0x0052 KEYCODE_MENU
0x0c 0x0041 Menü Seçimi
0x0c 0x0042 Menü Yukarı
0x0c 0x0043 Menü Aşağı
0x0c 0x0044 Menü Sol
0x0c 0x0045 Menü Sağ 0x0181 KEY_RIGHT
0x0c 0x0046 Menüden Kaçış
0x0c 0x0047 Menü Değer Artışı
0x0c 0x0048 Menü Değeri Azalması
0x0c 0x0067 Resim İçinde Resim Geçişi 0x00ab KEYCODE_WINDOW aosp/1365553'e eklendi
0x0c 0x0069 Kırmızı Menü Düğmesi 0x18e KEY_RED 0x00b7 KEYCODE_PROG_RED aosp/1388616'ya eklendi
0x0c 0x006a Yeşil Menü Düğmesi 0x18f KEY_GREEN 0x00b8 KEYCODE_PROG_GREEN aosp/1388616'ya eklendi
0x0c 0x006b Mavi Menü Düğmesi 0x191 KEY_BLUE 0x00ba KEYCODE_PROG_BLUE aosp/1388616'ya eklendi
0x0c 0x006c Sarı Menü Düğmesi 0x190 KEY_YELLOW 0x00b9 KEYCODE_PROG_YELLOW aosp/1388616'ya eklendi
0x0c 0x0081 Seçimi Ata
0x0c 0x0082 Mod Adımı
0x0c 0x0083 Sonuncuyu Geri Çağır 0x0195 KEY_LAST 0xe5 KEYCODE_LAST_CHANNEL aosp/1365551'e eklendi
0x0c 0x0084 Kanala Girin
0x0c 0x0085 Film Sipariş Et
0x0c 0x0088 Medya Seç Bilgisayar 0x0178 KEY_PC
0x0c 0x0089 Medya Seçimli TV 0x0179 KEY_TV 3.0 0x00aa KEYCODE_TV
0x0c 0x008a Medya Seçimi WWW 0x0096 KEY_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x0c 0x008b Medya Seçimi DVD'si 0x0185 KEY_DVD
0x0c 0x008c Medya Seç Telefon 0x00a9 KEY_PHONE 3.0 0x0005 KEYCODE_CALL
0x0c 0x008d Medya Seçimi Program Kılavuzu 0x016a KEY_PROGRAM 3.0 0x00ac KEYCODE_GUIDE
0x0c 0x008e Medya Seçimi Görüntülü Telefon 0x01a0 KEY_VIDEOPHONE
0x0c 0x008f Medya Seçme Oyunları 0x01a1 KEY_GAMES
0x0c 0x0090 Medya Seçim Mesajları 0x018c KEY_MEMO
0x0c 0x0091 Medya Seçim CD'si 0x017f KEY_CD
0x0c 0x0092 Medya Seçimi VCR 0x017b KEY_VCR
0x0c 0x0093 Medya Seçme Ayarlayıcısı 0x0182 KEY_TUNER
0x0c 0x0094 Çıkış yapmak 0x00ae KEY_EXIT
0x0c 0x0095 Yardım 0x008a KEY_HELP
0x0c 0x0096 Medya Seçim Bandı 0x0180 KEY_TAPE
0x0c 0x0097 Medya Seçim Kablosu 0x017a KEY_TV2
0x0c 0x0098 Medya Uydu Seçin 0x017d KEY_SAT
0x0c 0x0099 Medya Seçimi Güvenliği
0x0c 0x009a Medya Seçimi Ana Sayfası 0x016e KEY_PVR 3.0 0x00ad KEYCODE_DVR
0x0c 0x0061 Kapalı başlık 0x0172 KEY_SUBTITLE 0x00af KEYCODE_CAPTIONS aosp/1365552'ye eklendi
0x0c 0x009c Kanal Artışı 0x0192 KEY_CHANNELUP 3.0 0x00a6 KEYCODE_CHANNEL_UP
0x0c 0x009d Kanal Azaltma 0x0193 KEY_CHANNELDOWN 3.0 0x00a7 KEYCODE_CHANNEL_DOWN
0x0c 0x009e Medya Seçimi SAP
0x0c 0x00a0 VCR Artı 0x017c KEY_VCR2
0x0c 0x00a1 Bir kere
0x0c 0x00a2 Günlük
0x0c 0x00a3 Haftalık
0x0c 0x00a4 Aylık
0x0c 0x00b0 Oynamak 0x00cf KEY_PLAY 3.0 0x007e KEYCODE_MEDIA_PLAY
0x0c 0x00b1 Duraklat 0x0077 KEY_PAUSE 3.0 0x0079 KEYCODE_BREAK
0x0c 0x00b2 Kayıt 0x00a7 KEY_RECORD 3.0 0x0082 KEYCODE_MEDIA_RECORD
0x0c 0x00b3 İleri sar 0x00d0 KEY_FASTFORWARD 3.0 0x005a KEYCODE_MEDIA_FAST_FORWARD
0x0c 0x00b4 Geri sarma 0x00a8 KEY_REWIND 3.0 0x0059 KEYCODE_MEDIA_REWIND
0x0c 0x00b5 Sonraki Parçayı Tara 0x00a3 KEY_NEXTSONG 3.0 0x0057 KEYCODE_MEDIA_NEXT
0x0c 0x00b6 Önceki Parçayı Tara 0x00a5 KEY_PREVIOUSSONG 3.0 0x0058 KEYCODE_MEDIA_PREVIOUS
0x0c 0x00b7 Durmak 0x00a6 KEY_STOPCD 3.0 0x0056 KEYCODE_MEDIA_STOP
0x0c 0x00b8 Çıkar 0x00a1 KEY_EJECTCD 3.0 0x0081 KEYCODE_MEDIA_EJECT
0x0c 0x00b9 Rastgele oyun
0x0c 0x00ba Disk Seç
0x0c 0x00bb Diske Girin
0x0c 0x00bc Tekrarlamak 0x01b7 KEY_MEDIA_REPEAT
0x0c 0x00be Normali İzle
0x0c 0x00c0 İleri Çerçeve
0x0c 0x00c1 Çerçeve Geri
0x0c 0x00c2 İşaret
0x0c 0x00c3 İşareti Temizle
0x0c 0x00c4 İşaretten Tekrarla
0x0c 0x00c5 İşarete Dön
0x0c 0x00c6 Arama İleriyi İşaretle
0x0c 0x00c7 Geriye Doğru Arama İşareti
0x0c 0x00c8 Sayaç Sıfırlama
0x0c 0x00c9 Sayacı Göster
0x0c 0x00ca Takip Artışı
0x0c 0x00cb Azalma Takibi
0x0c 0x00cc Durdur / Çıkar
0x0c 0x00cd Oynat durdur 0x00a4 KEY_PLAYPAUSE 3.0 0x0055 KEYCODE_MEDIA_PLAY_PAUSE
0x0c 0x00ce Oynat / Atla
0x0c 0x00e2 Sesini kapatmak 0x0071 KEY_MUTE 3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x0c 0x00e5 Bas Kuvvetlendirme 0x00d1 KEY_BASSBOOST
0x0c 0x00e6 Çevre Modu
0x0c 0x00e7 Ses yüksekliği
0x0c 0x00e8 MPX
0x0c 0x00e9 Hacim Artışı 0x0073 KEY_VOLUMEUP 1.6 0x0018 KEYCODE_VOLUME_UP
0x0c 0x00ea Hacim Azalması 0x0072 KEY_VOLUMEDOWN 1.6 0x0019 KEYCODE_VOLUME_DOWN
0x0c 0x0173 Alternatif Ses Artışı 0x00de KEYCODE_MEDIA_AUDIO_TRACK aosp/1365554'e eklendi
0x0c 0x0181 AL Başlatma Düğmesi Yapılandırması. Alet
0x0c 0x0182 AL Programlanabilir Düğme Yapılandırması. 0x009c KEY_BOOKMARKS 3.0 0x00ae KEYCODE_BOOKMARK
0x0c 0x0183 AL Tüketici Denetimi Yapılandırması 0x00ab KEY_CONFIG 4.0.3 0x00d1 KEYCODE_MUSIC
0x0c 0x0184 AL Kelime İşlemci 0x01a5 KEY_WORDPROCESSOR
0x0c 0x0185 AL Metin Düzenleyicisi 0x01a6 KEY_EDITOR
0x0c 0x0186 AL Elektronik Tablosu 0x01a7 KEY_SPREADSHEET
0x0c 0x0187 AL Grafik Düzenleyicisi 0x01a8 KEY_GRAPHICSEDITOR
0x0c 0x0188 AL Sunum Uygulaması 0x01a9 KEY_PRESENTATION
0x0c 0x0189 AL Veritabanı Uygulaması 0x01aa KEY_DATABASE
0x0c 0x018a AL E-posta Okuyucusu 0x009b KEY_MAIL 1.6 0x0041 KEYCODE_ENVELOPE
0x0c 0x018b AL Haber Okuyucusu 0x01ab KEY_NEWS
0x0c 0x018c AL Sesli Posta 0x01ac KEY_VOICEMAIL
0x0c 0x018d AL Kişileri / Adres Defteri 0x01ad KEY_ADDRESSBOOK 4.0.3 0x00cf KEYCODE_CONTACTS
0x0c 0x018e AL Takvim / Program 0x018d KEY_CALENDAR 4.0.3 0x00d0 KEYCODE_CALENDAR
0x0c 0x018f AL Görev / Proje Yöneticisi
0x0c 0x0190 AL Günlüğü / Günlük / Zaman Kartı
0x0c 0x0191 AL Çek Defteri / Finans 0x00db KEY_FINANCE
0x0c 0x0192 AL Hesaplayıcı 0x008c KEY_CALC 4.0.3 0x00d2 KEYCODE_CALCULATOR
0x0c 0x0193 AL A/V Yakalama / Oynatma
0x0c 0x0194 AL Yerel Makine Tarayıcısı 0x0090 ANAHTAR DOSYA
0x0c 0x0195 AL LAN/WAN Tarayıcı
0x0c 0x0196 AL İnternet Tarayıcısı 0x0096 KEY_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x0c 0x0197 AL Uzaktan Ağ İletişimi/ISP Bağlantısı
0x0c 0x0198 AL Ağı Konferansı
0x0c 0x0199 AL Ağ Sohbeti 0x00d8 KEY_CHAT
0x0c 0x019a AL Telefon / Çevirici
0x0c 0x019b AL Oturum Açma
0x0c 0x019c AL Oturumu Kapat 0x01b1 KEY_LOGOFF
0x0c 0x019d AL Oturum Açma / Oturumu Kapatma
0x0c 0x019e AL Terminal Kilidi / Ekran Koruyucu 0x0098 KEY_COFFEE 4.0 0x001a KEYCODE_POWER
0x0c 0x019f AL Kontrol Paneli
0x0c 0x01a0 AL Komut Satırı İşlemcisi / Çalıştır
0x0c 0x01a1 AL Süreç / Görev Yöneticisi
0x0c 0x01a2 AL Görev / Uygulama Seç
0x0c 0x01a3 AL Sonraki Görev / Uygulama
0x0c 0x01a4 AL Önceki Görev / Uygulama
0x0c 0x01a5 AL Önleyici Durdurma Görevi / Uygulaması.
0x0c 0x01a6 AL Entegre Yardım Merkezi 0x008a KEY_HELP
0x0c 0x01a7 AL Belgeleri 0x00eb KEY_DOCUMENTS
0x0c 0x01a8 AL Eş Anlamlılar Sözlüğü
0x0c 0x01a9 AL Sözlüğü
0x0c 0x01aa AL Masaüstü
0x0c 0x01ab AL Yazım Denetimi 0x01b0 KEY_SPELLCHECK
0x0c 0x01ac AL Dilbilgisi Kontrolü
0x0c 0x01ad AL Kablosuz Durumu
0x0c 0x01ae AL Klavye Düzeni
0x0c 0x01af AL Virüs Koruması
0x0c 0x01b0 AL Şifreleme
0x0c 0x01b1 AL Ekran Koruyucu
0x0c 0x01b2 AL Alarmları
0x0c 0x01b3 AL Saati
0x0c 0x01b4 AL Dosya Tarayıcısı
0x0c 0x01b5 AL Güç Durumu
0x0c 0x01b6 AL Resim Tarayıcı 0x00e2 KEY_MEDIA 3.0 0x004f KEYCODE_HEADSETHOOK
0x0c 0x01b7 AL Ses Tarayıcı 0x00d5 KEY_SOUND 4.0.3 0x00d1 KEYCODE_MUSIC
0x0c 0x01b8 AL Film Tarayıcı
0x0c 0x01b9 AL Dijital Haklar Yöneticisi
0x0c 0x01ba AL Dijital Cüzdan
0x0c 0x01bc AL Anında Mesajlaşma 0x01ae KEY_MESSENGER
0x0c 0x01bd AL OEM Özellikleri / İpuçları Tarayıcısı 0x0166 KEY_INFO
0x0c 0x01be AL OEM Yardımı
0x0c 0x01bf AL Çevrimiçi Topluluğu
0x0c 0x01c0 AL Eğlence İçerik Tarayıcısı
0x0c 0x01c1 AL Çevrimiçi Alışveriş Tarayıcısı
0x0c 0x01c2 AL SmartCard Bilgileri / Yardım
0x0c 0x01c3 AL Piyasa / Finans Tarayıcısı
0x0c 0x01c4 AL Özelleştirilmiş Corp. Haber Tarayıcısı
0x0c 0x01c5 AL Çevrimiçi Etkinlik Tarayıcısı
0x0c 0x01c6 AL Araştırma / Arama Tarayıcısı
0x0c 0x01c7 AL Ses Çalar
0x0c 0x0201 Klima Yeni 0x00b5 KEY_NEW
0x0c 0x0202 Klima Açık 0x0086 KEY_OPEN
0x0c 0x0203 Klima Kapat 0x00ce KEY_CLOSE
0x0c 0x0204 Klima Çıkışı 0x00ae KEY_EXIT
0x0c 0x0205 AC Maksimuma Çıkarma
0x0c 0x0206 AC Minimize Et
0x0c 0x0207 Klima Tasarrufu 0x00 adet KEY_SAVE
0x0c 0x0208 AC Baskı 0x00d2 KEY_PRINT
0x0c 0x0209 Klima Özellikleri 0x0082 KEY_PROPS
0x0c 0x021a AC Geri Alma 0x0083 KEY_UNDO
0x0c 0x021b AC Kopyalama 0x0085 KEY_COPY
0x0c 0x021c AC Kesimi 0x0089 KEY_CUT
0x0c 0x021d AC Yapıştır 0x0087 KEY_PASTE
0x0c 0x021e AC Tümünü Seç
0x0c 0x021f Klima Bul 0x0088 KEY_FIND
0x0c 0x0220 AC Bul ve Değiştir
0x0c 0x0221 AC Arama 0x00d9 KEY_SEARCH 1.6 0x0054 KEYCODE_SEARCH
0x0c 0x0222 AC'ye Git 0x0162 KEY_GOTO
0x0c 0x0223 Klima Ana Sayfası 0x00ac KEY_HOMEPAGE 3.0 0x0003 KEYCODE_HOME
0x0c 0x0224 AC Geri 0x009e KEY_BACK 1.6 0x0004 KEYCODE_BACK
0x0c 0x0225 AC İleri 0x009f KEY_FORWARD 3.0 0x007d KEYCODE_FORWARD
0x0c 0x0226 AC Durdurma 0x0080 KEY_STOP 3.0 0x0056 KEYCODE_MEDIA_STOP
0x0c 0x0227 Klima Yenileme 0x00ad KEY_REFRESH
0x0c 0x0228 AC Önceki Bağlantı
0x0c 0x0229 AC Sonraki Bağlantı
0x0c 0x022a AC Yer İmleri 0x009c KEY_BOOKMARKS 3.0 0x00ae KEYCODE_BOOKMARK
0x0c 0x022b AC Geçmişi
0x0c 0x022c Klima Abonelikleri
0x0c 0x022d AC Yakınlaştır 0x01a2 KEY_ZOMIN
0x0c 0x022e AC Uzaklaştırma 0x01a3 KEY_ZOOMOUT
0x0c 0x022f AC Yakınlaştırma 0x01a4 KEY_ZOOMRESET 2
0x0c 0x0230 AC Tam Ekran Görünümü
0x0c 0x0231 AC Normal Görünüm
0x0c 0x0232 AC Görünümü Geçişi
0x0c 0x0233 AC Yukarı Kaydır 0x00b1 KEY_SCROLLUP 3.0 0x005c KEYCODE_PAGE_UP
0x0c 0x0234 AC Aşağı Kaydır 0x00b2 KEY_SCROLLDOWN 3.0 0x005d KEYCODE_PAGE_DOWN
0x0c 0x0236 Klima Tavası Sol
0x0c 0x0237 AC Pan Sağ
0x0c 0x0239 AC Yeni Pencere
0x0c 0x023a AC Döşeme Yatay
0x0c 0x023b AC Döşeme Dikey
0x0c 0x023c AC Formatı
0x0c 0x023d Yol açtı
0x0c 0x023e AC Kalın
0x0c 0x023f AC İtalik
0x0c 0x0240 AC Altı Çizili
0x0c 0x0241 AC Üstü çizili
0x0c 0x0242 AC Aboneliği
0x0c 0x0243 AC Üst Simgesi
0x0c 0x0244 AC Tümü Büyük Harf
0x0c 0x0245 AC Döndürme
0x0c 0x0246 Klimayı Yeniden Boyutlandır
0x0c 0x0247 AC Yatay çevirme
0x0c 0x0248 AC Dikey Çevirme
0x0c 0x0249 AC Ayna Yatay
0x0c 0x024a AC Ayna Dikey
0x0c 0x024b AC Yazı Tipi Seçimi
0x0c 0x024c AC Yazı Tipi Rengi
0x0c 0x024d AC Yazı Tipi Boyutu
0x0c 0x024e AC Sola Yasla
0x0c 0x024f AC Yaslama Merkezi H
0x0c 0x0250 AC Sağa Yasla
0x0c 0x0251 AC Yasla Blok H
0x0c 0x0252 AC Yasla Üst
0x0c 0x0253 AC Yaslama Merkezi V
0x0c 0x0254 AC Alt Yasla
0x0c 0x0255 AC Yaslama Blok V
0x0c 0x0256 AC Girinti Azaltma
0x0c 0x0257 AC Girinti Artışı
0x0c 0x0258 AC Numaralı Liste
0x0c 0x0259 AC Yeniden Başlatma Numaralandırması
0x0c 0x025a AC Madde İşaretli Liste
0x0c 0x025b Klima Tanıtımı
0x0c 0x025c AC İndirgemesi
0x0c 0x025d Klima Evet
0x0c 0x025e Klima Hayır
0x0c 0x025f AC İptal 0x00df KEY_CANCEL
0x0c 0x0260 Klima Kataloğu
0x0c 0x0261 AC Satın Alma / Ödeme
0x0c 0x0262 Klima Sepete Ekle
0x0c 0x0263 AC Genişlet
0x0c 0x0264 AC Tümünü Genişlet
0x0c 0x0265 Klima Çöküşü
0x0c 0x0266 AC Tümünü Daralt
0x0c 0x0267 AC Baskı Önizleme
0x0c 0x0268 AC Macun Özel
0x0c 0x0269 AC Ekleme Modu
0x0c 0x026a AC Silme
0x0c 0x026b Bir saat
0x0c 0x026c AC Kilidi Açma
0x0c 0x026d AC Koruması
0x0c 0x026e AC Korumasını Kaldır
0x0c 0x026f AC Ekleme Yorumu
0x0c 0x0270 AC Yorumu Sil
0x0c 0x0271 AC Yorumu Görüntüle
0x0c 0x0272 AC Kelime Seç
0x0c 0x0273 AC Cümle Seç
0x0c 0x0274 AC Paragraf Seç
0x0c 0x0275 AC Sütununu Seç
0x0c 0x0276 AC Satır Seç
0x0c 0x0277 AC Seçim Tablosu
0x0c 0x0278 AC Nesne Seç
0x0c 0x0279 AC Yinele / Tekrarla 0x00b6 KEY_REDO
0x0c 0x027a AC Sıralaması
0x0c 0x027b AC Sıralama Artan
0x0c 0x027c AC Azalan Sıralama
0x0c 0x027d AC Filtresi
0x0c 0x027e Klima Saati Ayarla
0x0c 0x027f AC Görüntüleme Saati
0x0c 0x0280 AC Saat Dilimini Seçin
0x0c 0x0281 AC Saat Dilimlerini Düzenle
0x0c 0x0282 AC Alarmı Ayarla
0x0c 0x0283 AC Silme Alarmı
0x0c 0x0284 AC Erteleme Alarmı
0x0c 0x0285 AC Sıfırlama Alarmı
0x0c 0x0286 AC Senkronizasyonu
0x0c 0x0287 AC Gönderme/Alma
0x0c 0x0288 AC Gönder
0x0c 0x0289 AC Yanıtı 0x00e8 KEY_REPLY
0x0c 0x028a AC Tümünü Yanıtla
0x0c 0x028b AC İletme Mesajı 0x00e9 KEY_FORWARDMAIL
0x0c 0x028c AC Gönder 0x00e7 KEY_SEND
0x0c 0x028d AC Dosya Ekle
0x0c 0x028e AC Yükleme
0x0c 0x028f AC İndir (Hedefi Farklı Kaydet)
0x0c 0x0290 AC Sınırları Ayarla
0x0c 0x0291 AC Ekleme Satırı
0x0c 0x0292 AC Ekleme Sütunu
0x0c 0x0293 AC Ekleme Dosyası
0x0c 0x0294 AC Resim Ekle
0x0c 0x0295 AC Ekleme Nesnesi
0x0c 0x0296 AC Ekleme Sembolü
0x0c 0x0297 AC Kaydet ve Kapat
0x0c 0x0298 Klimayı Yeniden Adlandır
0x0c 0x0299 AC Birleştirme
0x0c 0x029a AC Bölünmüş
0x0c 0x029b AC Yatay Olarak Dağıt
0x0c 0x029c AC Dikey Olarak Dağıtılır

HID olmayan ek eşlemeler

Bu eşlemeler, HID'de görünmeyen ancak Linux anahtar kodlarının mevcut olduğu işlevleri açıklar.

LKC Linux Anahtar Kodu Adı Sürüm AKC Android Anahtar Kodu Adı Notlar
0x01d0 KEY_FN 3.0 0x0077 KEYCODE_FUNCTION
0x01d1 KEY_FN_ESC 3.0 0x006f KEYCODE_ESCAPE 3
0x01d2 KEY_FN_F1 3.0 0x0083 ANAHTAR KODU_F1 3
0x01d3 KEY_FN_F2 3.0 0x0084 KEYCODE_F2 3
0x01d4 KEY_FN_F3 3.0 0x0085 ANAHTAR KODU_F3 3
0x01d5 KEY_FN_F4 3.0 0x0086 ANAHTAR KODU_F4 3
0x01d6 KEY_FN_F5 3.0 0x0087 ANAHTAR KODU_F5 3
0x01d7 KEY_FN_F6 3.0 0x0088 ANAHTAR KODU_F6 3
0x01d8 KEY_FN_F7 3.0 0x0089 KEYCODE_F7 3
0x01d9 KEY_FN_F8 3.0 0x008a KEYCODE_F8 3
0x01da KEY_FN_F9 3.0 0x008b ANAHTAR KODU_F9 3
0x01db KEY_FN_F10 3.0 0x008c ANAHTAR KODU_F10 3
0x01dc KEY_FN_F11 3.0 0x008d ANAHTAR KODU_F11 3
0x01dd KEY_FN_F12 3.0 0x008e ANAHTAR KODU_F12 3
0x01de KEY_FN_1 3.0 0x0008 KEYCODE_1 3
0x01df KEY_FN_2 3.0 0x0009 KEYCODE_2 3
0x01e0 KEY_FN_D 3.0 0x0020 KEYCODE_D 3
0x01e1 KEY_FN_E 3.0 0x0021 KEYCODE_E 3
0x01e2 KEY_FN_F 3.0 0x0022 KEYCODE_F 3
0x01e3 KEY_FN_S 3.0 0x002f KEYCODE_S 3
0x01e4 KEY_FN_B 3.0 0x001e KEYCODE_B 3

Eski desteklenmeyen anahtarlar

Bu eşlemeler Android'in önceki sürümlerinde görünüyordu ancak HID ile tutarsızdı veya standart olmayan Linux anahtar kodları kullanılmıştı. Artık desteklenmiyorlar.

LKC Linux Anahtar Kodu Adı Sürüm AKC Android Anahtar Kodu Adı Notlar
0x00db KEY_EMAIL 1.6 0x004d KEYCODE_AT 4
"" "" 4.0 4
0x00e3 KEY_STAR 1.6 0x0011 KEYCODE_STAR 4
"" "" 4.0 4
0x00e4 KEY_SHARP 1.6 0x0012 KEYCODE_POUND 4
"" "" 4.0 4
0x00e5 KEY_SOFT1 1.6 0x0052 KEYCODE_MENU 4
"" "" 4.0 4
0x00e6 KEY_SOFT2 1.6 0x0002 KEYCODE_SOFT_RIGHT 4
"" "" 4.0 4
0x00e7 KEY_SEND 1.6 0x0005 KEYCODE_CALL 4
"" "" 4.0 4
0x00e8 KEY_CENTER 1.6 0x0017 KEYCODE_DPAD_CENTER 4
"" "" 4.0 4
0x00e9 KEY_HEADSETHOOK 1.6 0x004f KEYCODE_HEADSETHOOK 4
"" "" 4.0 4
0x00 adet KEY_0_5 1.6 4
0x00eb KEY_2_5 1.6 4

Notlar

  1. Yaygın alfanümerik ve sembolik tuşlarla ilişkili Android anahtar kodu, klavye düzenine ve dile göre değişiklik gösterebilir. Tarihsel nedenlerden dolayı, klavyedeki tuşlarla ilişkili fiziksel tarama kodları ve HID kullanımları, bu tuşların üzerine basılan etiketler bir dilden diğerine farklılık gösterse de genellikle konumsal olarak tanımlanır.

    ABD İngilizcesi (QWERTY) klavyesinde sol üst alfabetik tuş Q olarak etiketlenir. Fransızca (AZERTY) klavyede aynı konumdaki tuş A olarak etiketlenir. Etikete rağmen, her iki klavyede de sol üst alfabetik tuş Linux anahtar kodu KEY_Q ile eşlenen 0x07 0x0014 HID kullanımı kullanılarak anılır.

    Android, ABD İngilizcesi klavye düzeniyle yapılandırıldığında, Linux anahtar kodu KEY_Q, Android anahtar kodu KEYCODE_Q ile eşleştirilecek ve 'Q' ve 'q' karakterlerini üretecektir. Ancak, Android Fransızca klavye düzeniyle yapılandırıldığında, Linux anahtar kodu KEY_Q, Android anahtar kodu KEYCODE_A ile eşleştirilecek ve 'A' ve 'a' karakterlerini üretecektir.

    Android anahtar kodu genellikle anahtarın dile özgü yorumunu yansıtır; dolayısıyla farklı diller için farklı bir Android anahtar kodu kullanılabilir.

  2. 0x0c 0x022f AC Zoom HID'de doğrusal bir kontrol olarak tanımlanır, ancak çekirdek onu bir anahtar olarak eşler; bu muhtemelen yanlıştır.

  3. Linux işlev tuşları KEY_FN_* daha basit anahtar kodlarıyla eşlenir ancak META_FUNCTION meta durum biti true olarak ayarlanarak gönderilir.

  4. Android Ice Cream Sandwich 4.0'dan önce, varsayılan anahtar düzeni, ana Linux çekirdek başlıklarında tanımlanmayan bazı ekstra anahtar kodlar için eşlemeler içeriyordu. Bu eşlemeler daha sonra kaldırıldı çünkü daha önce tanımlanmamış olan bu anahtar kodlara, Linux çekirdeğinin daha yeni sürümlerinde farklı anlamlar verildi.

Kaynaklar

  1. USB HID Kullanım Tabloları v1.12
  2. Linux 2.6.39 çekirdeği: include/linux/input.h, sürücüler/hid/hid-input.c
  3. Android ICS: qwerty.kl, Generic.kl, KeyEvent.java