JAVA 用于输入挪威语字符的机器人

JAVA Robot to type Norwegian characters

我想使用 java awt 机器人输入 å、ø、æ 等字母。但无法找到这些字母的任何关键事件。我正在使用 ubuntu 并且选择了挪威语作为语言。所以我可以从键盘输入这些字母,但是当我尝试获取键码时,这些字母总是给出 0。

有人可以建议我如何使用 java 机器人写作。

基于 Wolfgang Steiner 的解决方案:

public static void pressUnicode(Robot r, int key_code)
{
    r.keyPress(KeyEvent.VK_ALT);

    for(int i = 3; i >= 0; --i)
    {
        // extracts a single decade of the key-code and adds
        // an offset to get the required VK_NUMPAD key-code
        int numpad_kc = key_code / (int) (Math.pow(10, i)) % 10 + KeyEvent.VK_NUMPAD0;

        r.keyPress(numpad_kc);
        r.keyRelease(numpad_kc);
    }

    r.keyRelease(KeyEvent.VK_ALT);
}

这会自动遍历 unicode 键码的每个十年,将其映射到相应的 VK_NUMPAD 等价物和相应的 presses/releases 键。它适用于每个 unicode 字符。

要获取 Symbol 的代码,请执行以下操作:

char ch='ä';
int key_code = ch;
System.out.println(key_code);

编辑:此解决方案基于windows。要使其适用于 Linux,请尝试以下操作:

"For linux - Hold down 'ctrl' & 'shift' the entire time while entering the character. While holding them down, press 'U' then the 4 digit octal code for the character. "

详细:https://pthree.org/2006/11/30/its-unicode-baby/