ibus anthy かな入力 101 104 キーボードとか HHKB で
ubuntu 9.10 から ibus になるそうですが本家の物が使いにくかったので、
Japanese packages for testers https://launchpad.net/~japanese-testers/+archive/ppa/+packages
さん達のをaptラインに入れて使っています。
しかしキーボードに IBM 52G や HHKB の 101/104 とかを使っていていますが、かな入力の配列がちょっとちがうようなので修正しました。
/usr/share/ibus-anthy/engine/tables.py
と入れ替えた後、とりあえず同じ場所にあるtables.pycは削除してあります。
そして゛ibusの設定を開き「システムレイアウトのキーボードをつかう」にチェックを入れ、ibusの再起動をすれば使えました。
# a port of 101kana.sty from scim-anthy kana_typing_rule = {
このあたりをおもに書き換えています。
fedora は一足先にibusになっているはずなのでそっちからもらってくればよかったかな…
# vim:set et sts=4 sw=4: # -*- coding: utf-8 -*- # # ibus-anthy - The Anthy engine for IBus # # Copyright (c) 2007-2008 Huang Peng <shawn.p.huang@gmail.com> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # string, result, cont romaji_typing_rule = { u"-" : u"ー", u"a" : u"あ", u"i" : u"い", u"u" : u"う", u"e" : u"え", u"o" : u"お", u"xa" : u"ぁ", u"xi" : u"ぃ", u"xu" : u"ぅ", u"xe" : u"ぇ", u"xo" : u"ぉ", u"la" : u"ぁ", u"li" : u"ぃ", u"lu" : u"ぅ", u"le" : u"ぇ", u"lo" : u"ぉ", # u"xka" : u"ゕ", u"xka" : u"ヵ", # u"xke" : u"ゖ", u"xke" : u"ヶ", u"wi" : u"うぃ", u"we" : u"うぇ", u"wha" : u"うぁ", u"whi" : u"うぃ", u"whe" : u"うぇ", u"who" : u"うぉ", u"va" : u"ヴぁ", u"vi" : u"ヴぃ", u"vu" : u"ヴ", u"ve" : u"ヴぇ", u"vo" : u"ヴぉ", u"ka" : u"か", u"ki" : u"き", u"ku" : u"く", u"ke" : u"け", u"ko" : u"こ", u"ga" : u"が", u"gi" : u"ぎ", u"gu" : u"ぐ", u"ge" : u"げ", u"go" : u"ご", u"kya" : u"きゃ", u"kyi" : u"きぃ", u"kyu" : u"きゅ", u"kye" : u"きぇ", u"kyo" : u"きょ", u"gya" : u"ぎゃ", u"gyi" : u"ぎぃ", u"gyu" : u"ぎゅ", u"gye" : u"ぎぇ", u"gyo" : u"ぎょ", u"sa" : u"さ", u"si" : u"し", u"su" : u"す", u"se" : u"せ", u"so" : u"そ", u"za" : u"ざ", u"zi" : u"じ", u"zu" : u"ず", u"ze" : u"ぜ", u"zo" : u"ぞ", u"sya" : u"しゃ", u"syi" : u"しぃ", u"syu" : u"しゅ", u"sye" : u"しぇ", u"syo" : u"しょ", u"sha" : u"しゃ", u"shi" : u"し", u"shu" : u"しゅ", u"she" : u"しぇ", u"sho" : u"しょ", u"zya" : u"じゃ", u"zyi" : u"じぃ", u"zyu" : u"じゅ", u"zye" : u"じぇ", u"zyo" : u"じょ", u"ja" : u"じゃ", u"jya" : u"じゃ", u"ji" : u"じ", u"jyi" : u"じぃ", u"ju" : u"じゅ", u"jyu" : u"じゅ", u"je" : u"じぇ", u"jye" : u"じぇ", u"jo" : u"じょ", u"jyo" : u"じょ", u"ta" : u"た", u"ti" : u"ち", u"tu" : u"つ", u"tsu" : u"つ", u"te" : u"て", u"to" : u"と", u"da" : u"だ", u"di" : u"ぢ", u"du" : u"づ", u"de" : u"で", u"do" : u"ど", u"xtu" : u"っ", u"xtsu" : u"っ", u"ltu" : u"っ", u"ltsu" : u"っ", u"tya" : u"ちゃ", u"tyi" : u"ちぃ", u"tyu" : u"ちゅ", u"tye" : u"ちぇ", u"tyo" : u"ちょ", u"cha" : u"ちゃ", u"chi" : u"ち", u"chu" : u"ちゅ", u"che" : u"ちぇ", u"cho" : u"ちょ", u"dya" : u"ぢゃ", u"dyi" : u"ぢぃ", u"dyu" : u"ぢゅ", u"dye" : u"ぢぇ", u"dyo" : u"ぢょ", u"tsa" : u"つぁ", u"tse" : u"つぇ", u"tso" : u"つぉ", u"tha" : u"てゃ", u"thi" : u"てぃ", u"thu" : u"てゅ", u"the" : u"てぇ", u"tho" : u"てょ", u"dha" : u"でゃ", u"dhi" : u"でぃ", u"dhu" : u"でゅ", u"dhe" : u"でぇ", u"dho" : u"でょ", u"na" : u"な", u"ni" : u"に", u"nu" : u"ぬ", u"ne" : u"ね", u"no" : u"の", u"nya" : u"にゃ", u"nyi" : u"にぃ", u"nyu" : u"にゅ", u"nye" : u"にぇ", u"nyo" : u"にょ", u"ha" : u"は", u"hi" : u"ひ", u"hu" : u"ふ", u"he" : u"へ", u"ho" : u"ほ", u"ba" : u"ば", u"bi" : u"び", u"bu" : u"ぶ", u"be" : u"べ", u"bo" : u"ぼ", u"pa" : u"ぱ", u"pi" : u"ぴ", u"pu" : u"ぷ", u"pe" : u"ぺ", u"po" : u"ぽ", u"hya" : u"ひゃ", u"hyi" : u"ひぃ", u"hyu" : u"ひゅ", u"hye" : u"ひぇ", u"hyo" : u"ひょ", u"bya" : u"びゃ", u"byi" : u"びぃ", u"byu" : u"びゅ", u"bye" : u"びぇ", u"byo" : u"びょ", u"pya" : u"ぴゃ", u"pyi" : u"ぴぃ", u"pyu" : u"ぴゅ", u"pye" : u"ぴぇ", u"pyo" : u"ぴょ", u"fa" : u"ふぁ", u"fi" : u"ふぃ", u"fu" : u"ふ", u"fe" : u"ふぇ", u"fo" : u"ふぉ", u"fya" : u"ふゃ", u"fyi" : u"ふぃ", u"fyu" : u"ふゅ", u"fye" : u"ふぇ", u"fyo" : u"ふょ", u"ma" : u"ま", u"mi" : u"み", u"mu" : u"む", u"me" : u"め", u"mo" : u"も", u"mya" : u"みゃ", u"myi" : u"みぃ", u"myu" : u"みゅ", u"mye" : u"みぇ", u"myo" : u"みょ", u"lya" : u"ゃ", u"xya" : u"ゃ", u"ya" : u"や", u"lyu" : u"ゅ", u"xyu" : u"ゅ", u"yu" : u"ゆ", u"lyo" : u"ょ", u"xyo" : u"ょ", u"yo" : u"よ", u"ra" : u"ら", u"ri" : u"り", u"ru" : u"る", u"re" : u"れ", u"ro" : u"ろ", u"rya" : u"りゃ", u"ryi" : u"りぃ", u"ryu" : u"りゅ", u"rye" : u"りぇ", u"ryo" : u"りょ", u"xwa" : u"ゎ", u"wa" : u"わ", u"wo" : u"を", u"n'" : u"ん", u"nn" : u"ん", u"wyi" : u"ゐ", u"wye" : u"ゑ", } symbol_rule = { # symbols u" " : u" ", u"," : u"、", u"." : u"。", u"!" : u"!", u"\"" : u"\u201d", u"#" : u"#", u"$" : u"$", u"%" : u"%", u"&" : u"&", u"'" : u"\u2019", u"(" : u"(", u")" : u")", u"~" : u"\uff5e", u"-" : u"ー", u"=" : u"=", u"^" : u"^", u"\\" : u"\", u"|" : u"|", u"`" : u"\u2018", u"@" : u"@", u"{" : u"{", u"[" : u"「", u"+" : u"+", u";" : u";", u"*" : u"*", u":" : u":", u"}" : u"}", u"]" : u"」", u"<" : u"<", u">" : u">", u"?" : u"?", u"/" : u"/", u"_" : u"_", u"\" : u"¥", # numbers u'0': u'0', u'1': u'1', u'2': u'2', u'3': u'3', u'4': u'4', u'5': u'5', u'6': u'6', u'7': u'7', u'8': u'8', u'9': u'9', } # this is only used with romaji_typing_rule romaji_double_consonat_typing_rule = { # double consonant rule u"bb" : (u"っ", u"b"), u"cc" : (u"っ", u"c"), u"dd" : (u"っ", u"d"), u"ff" : (u"っ", u"f"), u"gg" : (u"っ", u"g"), u"hh" : (u"っ", u"h"), u"jj" : (u"っ", u"j"), u"kk" : (u"っ", u"k"), u"mm" : (u"っ", u"m"), u"pp" : (u"っ", u"p"), u"rr" : (u"っ", u"r"), u"ss" : (u"っ", u"s"), u"tt" : (u"っ", u"t"), u"vv" : (u"っ", u"v"), u"ww" : (u"っ", u"w"), u"xx" : (u"っ", u"x"), u"yy" : (u"っ", u"y"), u"zz" : (u"っ", u"z"), } # this is only used with romaji_typing_rule romaji_correction_rule = { u"nb" : (u"ん", u"b"), u"nc" : (u"ん", u"c"), u"nd" : (u"ん", u"d"), u"nf" : (u"ん", u"f"), u"ng" : (u"ん", u"g"), u"nh" : (u"ん", u"h"), u"nj" : (u"ん", u"j"), u"nk" : (u"ん", u"k"), u"nl" : (u"ん", u"l"), u"nm" : (u"ん", u"m"), u"np" : (u"ん", u"p"), u"nr" : (u"ん", u"r"), u"ns" : (u"ん", u"s"), u"nt" : (u"ん", u"t"), u"nv" : (u"ん", u"v"), u"nw" : (u"ん", u"w"), u"nx" : (u"ん", u"x"), u"nz" : (u"ん", u"z"), u"n\0" : (u"ん", u""), u"n," : (u"ん", u","), u"n." : (u"ん", u"."), } # a port of 101kana.sty from scim-anthy kana_typing_rule = { # no modifiers keys u"1" : u"ぬ", u"2" : u"ふ", u"3" : u"あ", u"4" : u"う", u"5" : u"え", u"6" : u"お", u"7" : u"や", u"8" : u"ゆ", u"9" : u"よ", u"0" : u"わ", u"-" : u"ほ", #u"^" : u"へ", u"^" : u"ぉ", u"=" : u"へ", u"q" : u"た", u"w" : u"て", u"e" : u"い", u"r" : u"す", u"t" : u"か", u"y" : u"ん", u"u" : u"な", u"i" : u"に", u"o" : u"ら", u"p" : u"せ", #u"@" : u"゛", u"@" : u"ふ", #u"[" : u"゜", u"[" : u"゛", u"a" : u"ち", u"s" : u"と", u"d" : u"し", u"f" : u"は", u"g" : u"き", u"h" : u"く", u"j" : u"ま", u"k" : u"の", u"l" : u"り", u";" : u"れ", #u":" : u"け", #u"]" : u"む", u"]" : u"゜", u"z" : u"つ", u"x" : u"さ", u"c" : u"そ", u"v" : u"ひ", u"b" : u"こ", u"n" : u"み", u"m" : u"も", u"," : u"ね", u"." : u"る", u"/" : u"め", # u"\\" : u"ー", #u"\\" : u"ろ", u"\\" : u"む", # shift modifiered keys u"!" : u"ぬ", #u"\"" : u"ふ", u"#" : u"ぁ", u"$" : u"ぅ", u"%" : u"ぇ", #u"&" : u"ぉ", u"&" : u"ゃ", #u"'" : u"ゃ", u"'" : u"け", #u"(" : u"ゅ", u"(" : u"ょ", #u")" : u"ょ", u")" : u"を", #u"~" : u"を", #u"=" : u"ほ", #u"|" : u"ー", u"_" : u"ー", u"Q" : u"た", u"W" : u"て", u"E" : u"ぃ", u"R" : u"す", u"T" : u"ヵ", u"Y" : u"ん", u"U" : u"な", u"I" : u"に", u"O" : u"ら", u"P" : u"せ", #u"`" : u"゛", u"`" : u"ろ", u"{" : u"「", u"A" : u"ち", u"S" : u"と", u"D" : u"し", u"F" : u"ゎ", u"G" : u"き", u"H" : u"く", u"J" : u"ま", u"K" : u"の", u"L" : u"り", #u"+" : u"れ", #u"*" : u"ヶ", u"*" : u"ゅ", u"}" : u"」", u"Z" : u"っ", u"X" : u"さ", u"C" : u"そ", u"V" : u"ゐ", u"B" : u"こ", u"M" : u"も", u"N" : u"み", u"<" : u"、", u">" : u"。", u"?" : u"・", #u"_" : u"ろ", #u"\" : u"ー", } kana_voiced_consonant_rule = { # u"か@" : u"が", # u"き@" : u"ぎ", # u"く@" : u"ぐ", # u"け@" : u"げ", # u"こ@" : u"ご", # u"さ@" : u"ざ", # u"し@" : u"じ", # u"す@" : u"ず", # u"せ@" : u"ぜ", # u"そ@" : u"ぞ", # u"た@" : u"だ", # u"ち@" : u"ぢ", # u"つ@" : u"づ", # u"て@" : u"で", # u"と@" : u"ど", # u"は@" : u"ば", # u"ひ@" : u"び", # u"ふ@" : u"ぶ", # u"へ@" : u"べ", # u"ほ@" : u"ぼ", # u"か`" : u"が", # u"き`" : u"ぎ", # u"く`" : u"ぐ", # u"け`" : u"げ", # u"こ`" : u"ご", # u"さ`" : u"ざ", # u"し`" : u"じ", # u"す`" : u"ず", # u"せ`" : u"ぜ", # u"そ`" : u"ぞ", # u"た`" : u"だ", # u"ち`" : u"ぢ", # u"つ`" : u"づ", # u"て`" : u"で", # u"と`" : u"ど", # u"は`" : u"ば", # u"ひ`" : u"び", # u"ふ`" : u"ぶ", # u"へ`" : u"べ", # u"ほ`" : u"ぼ", # u"は[" : u"ぱ", # u"ひ[" : u"ぴ", # u"ふ[" : u"ぷ", # u"へ[" : u"ぺ", # u"ほ[" : u"ぽ", u"か[" : u"が", u"き[" : u"ぎ", u"く[" : u"ぐ", u"け[" : u"げ", u"こ[" : u"ご", u"さ[" : u"ざ", u"し[" : u"じ", u"す[" : u"ず", u"せ[" : u"ぜ", u"そ[" : u"ぞ", u"た[" : u"だ", u"ち[" : u"ぢ", u"つ[" : u"づ", u"て[" : u"で", u"と[" : u"ど", u"は[" : u"ば", u"ひ[" : u"び", u"ふ[" : u"ぶ", u"へ[" : u"べ", u"ほ[" : u"ぼ", u"は]" : u"ぱ", u"ひ]" : u"ぴ", u"ふ]" : u"ぷ", u"へ]" : u"ぺ", u"ほ]" : u"ぽ", } #hiragana, katakana, half_katakana hiragana_katakana_table = { u"あ" : (u"ア", u"ア"), u"い" : (u"イ", u"イ"), u"う" : (u"ウ", u"ウ"), u"え" : (u"エ", u"エ"), u"お" : (u"オ", u"オ"), u"か" : (u"カ", u"カ"), u"き" : (u"キ", u"キ"), u"く" : (u"ク", u"ク"), u"け" : (u"ケ", u"ケ"), u"こ" : (u"コ", u"コ"), u"が" : (u"ガ", u"ガ"), u"ぎ" : (u"ギ", u"ギ"), u"ぐ" : (u"グ", u"グ"), u"げ" : (u"ゲ", u"ゲ"), u"ご" : (u"ゴ", u"ゴ"), u"さ" : (u"サ", u"サ"), u"し" : (u"シ", u"シ"), u"す" : (u"ス", u"ス"), u"せ" : (u"セ", u"セ"), u"そ" : (u"ソ", u"ソ"), u"ざ" : (u"ザ", u"ザ"), u"じ" : (u"ジ", u"ジ"), u"ず" : (u"ズ", u"ズ"), u"ぜ" : (u"ゼ", u"ゼ"), u"ぞ" : (u"ゾ", u"ゾ"), u"た" : (u"タ", u"タ"), u"ち" : (u"チ", u"チ"), u"つ" : (u"ツ", u"ツ"), u"て" : (u"テ", u"テ"), u"と" : (u"ト", u"ト"), u"だ" : (u"ダ", u"ダ"), u"ぢ" : (u"ヂ", u"ヂ"), u"づ" : (u"ヅ", u"ヅ"), u"で" : (u"デ", u"デ"), u"ど" : (u"ド", u"ド"), u"な" : (u"ナ", u"ナ"), u"に" : (u"ニ", u"ニ"), u"ぬ" : (u"ヌ", u"ヌ"), u"ね" : (u"ネ", u"ネ"), u"の" : (u"ノ", u"ノ"), u"は" : (u"ハ", u"ハ"), u"ひ" : (u"ヒ", u"ヒ"), u"ふ" : (u"フ", u"フ"), u"へ" : (u"ヘ", u"ヘ"), u"ほ" : (u"ホ", u"ホ"), u"ば" : (u"バ", u"バ"), u"び" : (u"ビ", u"ビ"), u"ぶ" : (u"ブ", u"ブ"), u"べ" : (u"ベ", u"ベ"), u"ぼ" : (u"ボ", u"ボ"), u"ぱ" : (u"パ", u"パ"), u"ぴ" : (u"ピ", u"ピ"), u"ぷ" : (u"プ", u"プ"), u"ぺ" : (u"ペ", u"ペ"), u"ぽ" : (u"ポ", u"ポ"), u"ま" : (u"マ", u"マ"), u"み" : (u"ミ", u"ミ"), u"む" : (u"ム", u"ム"), u"め" : (u"メ", u"メ"), u"も" : (u"モ", u"モ"), u"や" : (u"ヤ", u"ヤ"), u"ゆ" : (u"ユ", u"ユ"), u"よ" : (u"ヨ", u"ヨ"), u"ら" : (u"ラ", u"ラ"), u"り" : (u"リ", u"リ"), u"る" : (u"ル", u"ル"), u"れ" : (u"レ", u"レ"), u"ろ" : (u"ロ", u"ロ"), u"わ" : (u"ワ", u"ワ"), u"を" : (u"ヲ", u"ヲ"), u"ん" : (u"ン", u"ン"), u"ぁ" : (u"ァ", u"ァ"), u"ぃ" : (u"ィ", u"ィ"), u"ぅ" : (u"ゥ", u"ゥ"), u"ぇ" : (u"ェ", u"ェ"), u"ぉ" : (u"ォ", u"ォ"), u"っ" : (u"ッ", u"ッ"), u"ゃ" : (u"ャ", u"ャ"), u"ゅ" : (u"ュ", u"ュ"), u"ょ" : (u"ョ", u"ョ"), u"ヵ" : (u"ヵ", u"カ"), u"ヶ" : (u"ヶ", u"ケ"), u"ゎ" : (u"ヮ", u"ワ"), u"ゐ" : (u"ヰ", u"ィ"), u"ゑ" : (u"ヱ", u"ェ"), u"ヴ" : (u"ヴ", u"ヴ"), # symbols u"ー" : (u"ー", u"ー"), u"、" : (u"、", u"、"), u"。" : (u"。", u"。"), u"!" : (u"!", u"!"), u"\u201d" : (u"\u201d", u"\""), u"#" : (u"#", u"#"), u"$" : (u"$", u"$"), u"%" : (u"%", u"%"), u"&" : (u"&", u"&"), u"\u2019" : (u"\u2019", u"'"), u"(" : (u"(", u"("), u")" : (u")", u")"), u"\uff5e" : (u"\uff5e", u"~"), u"=" : (u"=", u"="), u"^" : (u"^", u"^"), u"\" : (u"\", u"\\"), u"|" : (u"|", u"|"), u"\u2018" : (u"\u2018", u"`"), u"@" : (u"@", u"@"), u"゛" : (u"゛", u"゙"), u"{" : (u"{", u"{"), u"゜" : (u"゜", u"゚"), u"「" : (u"「", u"「"), u"+" : (u"+", u"+"), u";" : (u";", u";"), u"*" : (u"*", u"*"), u":" : (u":", u":"), u"}" : (u"}", u"}"), u"」" : (u"」", u"」"), u"<" : (u"<", u"<"), u">" : (u">", u">"), u"?" : (u"?", u"?"), u"・" : (u"・", u"・"), u"/" : (u"/", u"/"), u"_" : (u"_", u"_"), u"¥" : (u"¥", u"\"), # numbers u'0': (u'0', u'0'), u'1': (u'1', u'1'), u'2': (u'2', u'2'), u'3': (u'3', u'3'), u'4': (u'4', u'4'), u'5': (u'5', u'5'), u'6': (u'6', u'6'), u'7': (u'7', u'7'), u'8': (u'8', u'8'), u'9': (u'9', u'9'), }