2015-07-06 22 views
6

Klavye düzenimi İbranice değiştirdiğimde ve bir karaktere bastığımda, kepress olayında olduğu gibi alınır. Örneğin, ה (v tuşu) tıklatıldığında, e.which 1492'dir. Ancak, bir kombinasyon yaptığımda anahtar ingilizce anahtardır. alt+ה için e.which 86. olduğunu Yani bu ben tuş kombinasyonları ve geri aramalar kabul eder ve geri çağrıları kaydeden bir işlev oluşturmak istiyorsanız bir acıdır ama aynı zamanda geri aramaları bir dokümantasyon gösterir alt+vİngilizce olmayan tuş basımı nasıl yapılır

gibi yani olay eğer bu yana, bakar ben alt+ה'u kaydedin, ardından bu bileşime bastığımda alt+v gibi görünecek ve kayıtlı kombinasyonlarla eşleşmeyecek. Ama eğer alt+v'u kayıt edersem, belgeler garip olur.

  1. arasında
  2. eşleme (הvalt ile birlikte bastırılır ve olmadığını bilerek, anlam) tuşuna aslında basılmış bilerek:

    Benim soru aşağıdakilerden biri mümkün olup olmadığını aşağı kaynar İbranice karakterleri (veya herhangi bir ingilizce olmayan) kendi fiziksel ingilizce meslektaşları için, bu yüzden işlevim alt+ה alır, geri arama için alt+v dönüştürecektir.

Elbette jenerik bir şey istiyorum, bu sadece bir İbranice alfabesiyle değil, herhangi bir dil için çalışacaktır.

+1

W3C, güncel olarak desteklense de [çalışma taslağı] (https://developer.mozilla.org/en-US/docs/Web/API/ Konuyla ilgili KeyboardEvent/code). –

+0

Sadece eğitimli bir tahmindir, ancak belki yukarıdaki katmanlardan biri (klavye, işletim sistemi), tarayıcıya ulaşmadan önce bu dönüşümü anında yapar, ortak işlemler için tutarlı arabirim sağlar (kopyalama, yapıştırma, kesme, tümünü seç Aslında, mantıklı olan, bu nedenle, bu davranışı sistemlerde yeterince tutarlı buluyorsanız, o zaman garip dokümantasyona geçin ve her dil klavyesini işlemek zorunda olmadığınız için mutlu olun. –

cevap

0
  1. Alt-ה veya alt-v olup olmadığına dikkat etmelisiniz, her iki durumda da aynı işlemi gerçekleştirmek istersiniz.
  2. Tanımlanmamışsa, herhangi bir yerde tanımlanmamıştır, bu nedenle işleviniz de alt-v alır.
  3. Eğer işleviniz bir şey aldığında ("Alt", "ה"), dönüştürme için bir nesne oluşturmanız gerekir. var conv = {'ה': 'v'; 'ש': 'a', ...}
İlgili konular