我在CentOS 6.1上使用了塞爾維亞拉丁鍵盤。當我按Alt Gr + N我得到}。到處都是,除了NetBeans。在NetBeans/Java中鍵入特殊字符(使用Alt Gr)
此外,我無法輸入任何括號[] {}或\ |。有沒有人遇到過這個解決方案?
更改每個大括號或其他符號的鍵盤不是一個選項。
我在CentOS 6.1上使用了塞爾維亞拉丁鍵盤。當我按Alt Gr + N我得到}。到處都是,除了NetBeans。在NetBeans/Java中鍵入特殊字符(使用Alt Gr)
此外,我無法輸入任何括號[] {}或\ |。有沒有人遇到過這個解決方案?
更改每個大括號或其他符號的鍵盤不是一個選項。
解決方案是安裝Sun/Oracle Java,然後重新安裝NetBEans。
實際上它是一個X11 /發行版錯誤。
KDE或GTK應用程序使用自己的鍵盤機制,因此它們不會顯示該問題; 但java(因此netbeans)使用X11鍵盤機制來輸入。
問題在於X11如何處理您的語言環境;如果設置正確,它的工作;如果不是,它不會。 X11沒有任何「默認」規則;如果你的語言環境對X11不瞭解,你什麼都沒有。 另外,X11語言環境支持也沒有太多更新。
X11,爲了讓正確的altgr /撰寫規則必須加載一個適當的「撰寫」文件。 它取決於區域加載它(或沒有):在/usr/share/X11/locale/compose.dir文件(你的路徑可能會有所不同),有喜歡的臺詞:
en_US.UTF-8/Compose en_US.UTF-8
en_US.UTF-8/Compose sr_CS.UTF-8
en_US.UTF-8/Compose: en_US.UTF-8
en_US.UTF-8/Compose: sr_CS.UTF-8
等 (是的,每個區域有兩行,有和沒有冒號;一個用於舊程序,另一個用於新程序;但我不記得哪個是哪個)
必須有一行用於您使用的語言環境用「locale」命令)。 請注意,如果系統使用「en_US.utf8」等語言環境,則必須有別名 (位於locales.alias文件中);是這樣的:
sr_CS.utf8 sr_CS.UTF-8
...
sr_CS.utf8: sr_CS.UTF-8
(再次,有和沒有冒號複製)爲了解決你的問題,你可以設置LC_ALL =的en_US.UTF-8啓動Java程序之前;或編輯(您需要是root用戶,並在每次X11更新時執行)compose.dir(和locale.dir和/或locale.alias)文件,複製en_US.UTF-8行並適應您的語言環境。 您也可以向您的發行版進行報告,以便它們修補那些.dir/ .alias文件,以便正確運行發行版提供的所有區域設置。