Получить текущий язык раскладки клавиатуры в JavaScript - PullRequest
2 голосов
/ 09 декабря 2010

Я использую wshShell.SendKeys для ввода текста на веб-сайты с HTA, когда моя текущая раскладка клавиатуры не английская, результаты wshShell.SendKeys не ожидаются.

Я хочу, чтобы моя функция проверяласкорее это английский язык, в противном случае отправьте ALT + SHIFT, чтобы изменить его на английский. Для меня труднее всего найти функцию, которая возвращает текущую раскладку клавиатуры.

Если кто-то знает, как это сделатьБуду рад узнать ..

Спасибо, Rotem

Ответы [ 2 ]

3 голосов
/ 11 декабря 2010

Хорошо, я сделал это с помощью 'Shadow Wizard' ..

Это код, если кто-то хочет знать (=

Спасибо!

    var lastKeyPressed = 0;

function sendKey()
{
    var WshShell = new ActiveXObject("WScript.Shell");
    WshShell.SendKeys( 'a' );
}

function getCurLayout()
{
    sendKey();
    setTimeout("lastKeyLang()",10);
}

function lastKeyLang()
{
    if( lastKeyPressed == 97 )
        alert( 'EN' );
    else
        alert( 'HE' );  
}

document.onkeypress = saveLastKey;  
function saveLastKey()
{
    lastKeyPressed = window.event.keyCode;
}
0 голосов
/ 09 декабря 2010

Отправьте «A» в текстовое поле, прочитайте его обратно так:

nValue = oTextbox.value.charCodeAt(0);

Если nValue равно 65, макет английский, в противном случае это не так и, вероятно, вместо него было отправлено ש.

...