Seoul Life

韓国のソウルに住んでいます。 日本語・韓国語教育関連、文化や政治、韓国で話題のニュースや舞台などについて書いていきたいと思います。

タグ:入力ソース

パリで起きた連続テロ事件に心を痛めています。
なぜこのようなことが起きるのか、私たちはその原因に目を向けなければいけないと思います。

ところで昨日、偶然ですがmacでフランス語をはじめとした西欧語と北欧語を入力ソースとして使用時に、英数キーが正常に動作しないエラーを見つけていました。
以前チェックしたときはそんなことはなかったように思うのですが、これが以前からあったバグなのか、それともEl Capitanからのものなのかは分かりません。
しかしネットで探してみてそのような報告がなされているものを見つけることができなかったので、最近のことなのかもしれません。 

英数キーは、私の知る限りmacの日本語キーボードのみについているもので、 日本語によく似ている韓国語のキーボードにもありません。
このキーはJIS_EISUUというコマンドを利用して、英語に切り替える命令を出すコードを発しているのですが、このJIS_EISUUになぜか西欧・北欧系の言語まで含まれるようになっているようです。

これでは、例えばフランス語を使用中に、英数キーを押しても英語に切り替えることができません。
フランス語の次に日本語にしたあと、英数キーを押すと、英語ではなくフランス語に戻ります。

そこでいろいろな言語を入れて調べてみたところ、以下のとおりでした。


ダメなもの(EISUUとして認識される)
Spanish
Italian
French
Belgian
German
ABC-QWERTZ(ドイツ語)
Portuguese
Irish
Swedish
Finnish(フィンランド語)
Danish(デンマーク語)
Norwegian(ノルウェー語)

大丈夫なもの(EISUUとして認識されない)
Greek
Icelandic
Hawaiian
Jawv-Qwerty
Polish
Russian
Devanagari- QWERTY(ヒンディー語)
Tibetan-Otani
Hungarian

地域ははっきりしていて、東欧系は大丈夫で西欧・北欧系はダメです。
他の地域は問題ないようです。 
これは一体どういうことなのでしょうか……。
これらの国の人はEISUUのコマンドを使うことはないかもしれませんが、日本人
でこれらの言語を使う人は困るのではないかと思いました。

Karabiner作者の高山さんにご相談し、とりあえず、ENGLISHのみを対象にして英語に切り替えられるようにコードを書き換えたPOCHI 7.4.4 betaバージョンをアップしました。

詳しくはこちらから!

Pochi-image
http://seoul-life.blog.jp/archives/45578844.html


ver.7.4.3 beta  2015.11.12

・「🌏 for Keyboard Shortcuts User」の位置を一番下にしました。

 これには、ショートカットの指定優先順位の関係があります。

 日本語の半角/全角キーに当たるBackquoteキーを、あらかじめCommandキーに指定しておき、それに希望に応じて他のショートカットを指定するには、一番下にする必要がありました。


ショートカットにControl+Space, Shift+Spaceを追加しました。

昔から慣れているキーで、英語とのトグルや他の入力言語への切り替えができます。



ver.7.4.4 beta  2015.11.14

・西欧系の言語を使用時に、英数キーが機能しないバグを発見しました(El Capitan)。

東欧系は問題なく、西欧系の言語ソースを使用時に、英語ではないのにもかかわらず、EISUUコマンドに含まれると認識され、英数キーを押した時にその英語ではなくその言語に戻ってしまいます。

いつから発生している現象かはまだ分かりませんが、とりあえず、EISUUキーのコードをKeyCode::VK_CHANGE_INPUTSOURCE_ENGLISHに入れ替えて対応しました。

西欧系の言語をご使用の方は、POCHIの[ to English ] で英数キーをオンにすることにより、英数キーで英語に切り替えられるようになります。

ver.7.4.5 beta  2015.11.18

・Karabinerの起動やXMLファイルのReload、Eventviewerの起動などのKarabiner関係のショートカットを、Special Application Shortcutsのほうに移しました。

 - 同時に、1&2, 2&3, 3&4, 4&5の同時押しで、1~4番目のKarabier設定ファイルに切り替えることのできるショートカットを追加しました。これはもともとf+1~4でしたが、片手で押せるようにしたものです。

 - Escapeキーと1の同時押しで、POCHIの設定画面を呼び出せるショートカットを追加しました。


・「🌏 for Keyboard Shortcuts User」を「 for Extra Keyboard User 🌏」に変更しました。


・El Captanで「メモ」アプリのデフォルトフォントサイズを変更できないため、Command+Nで新しいメモを開いた時に、フォントサイズを自動的に18ポイントまで大きくするショートカット設定を「Special Application Shortcuts」に追加しました。メモのフォントが小さすぎると思われていた方、どうぞ。


・TESTの項目を実施中に、「E」を押すとEventviewerが、「R」を押すとReload XMLが起動するようにしました。


・for Japanese Input Userと Extra Key Shortcutsで、Deleteの動作をするものに関して、Norepeatのオプションを外し、押しっぱなしで繰り返し削除されるようにしました。


・全体の構成を若干修正しました。


・[to English]、[For Japanese Input User]、[For Extra Keyboard User] に、西欧・北欧語を日本語キーボードで利用する際は、英数キーを利用するためには[to English] で [英数(EISUU)Key]にチェックを入れなければならない旨を追記しました。


・fn & 右Command、またはfn & [ . ] 同時押しでReloadXMLをするときに同時にKarabinerが起動するようにしました。 

 

IMG_0081


Macで英語・日本語以外の外国語を入力ソースとして使っている方は、多言語切替をCommand(⌘)+Spaceを何回か繰り返してやっておられることと思います。
私も韓国語を使う者としていつもそうしていたのですが、これが大変まだるっこしく、つい押しすぎてしまってまた2回押さなければならなかったりし、長年ストレスの元でした。英語や日本語は一発で切り替えられるキーがあるのに、韓国語はなぜそれができないのだろうと思い、フリーソフトなどを片っ端から当たってみたのですが、どれもうまく行かず、壁にぶち当たっていました。
Macのショートカットキーについては、実はKarabinerという優れたソフトがありまして、各国語に対応したショートカットが用意されており、このなかにfor Koreanという韓国語入力用のモードも用意されているのですが、これは英語と韓国語のみを使う場合にこの二つを入れ替える機能しかなく、これも十分なものではなかったのです。
ここまでで半分諦めかけていたのですが、ダメ元でKarabinerのコミュニティ掲示板に質問をしてみたところ、救世主が!(Karabinerは少し前のバージョン9.3.0までKeyRemap4MacBookという名前でした)
なんとまったく同じような質問をした人が外国にいて、それにこの方が解決法を出して下さっていた(しかもそれはほんの数週間前のことでした)のを教えてくださったのです! 
感謝感謝!
教えていただいたコードを使って、見よう見まねでコードを組み立て、お陰で韓国語だけではなく、日本語・英語に以外に3つまでの多言語を使っている方用に、それぞれ5通りのショートカットキーを指定できるように作ってみました。
ここではその方法をご紹介します。(Ver.4.3)

※ 最新版 ver.7.0(2015.8.29)が出ています。
インストールはこちら http://seoul-life.blog.jp/archives/41528657.htmlから
お願いします!


One Shot Input Source Short Cut(Ver.4.3)​設定の仕方
 
1. まず、Karabinerというフリーソフトを使うのでこれをインストールします。

↓ここからダウンロードしてインストールできます。
2. インストールしたら、Launchpadから起動します。
(僕はLaunchpadの1ページ目に持ってきました。)
28


これはMacのさまざまな入力方法を細かくカスタマイズできる優秀なソフトです。
使い方は
https://pqrs.org/osx/karabiner/document.html.ja
に書いてありますが、今回はこれを覚える必要はありません。
 

3. 起動したら、上部右側の「Misc&Uninstall」というタブをクリックします。

次に真ん中辺り真ん中辺りにあるCustum Settingのところの「Open private.xml」をクリックします。
スクリーンショット_2014-08-09_5_17_57


すると「private.xml」というファイルのあるフォルダが開きます。(拡張子を表示させていない人には「private」に見えます)


4. このprivate.xmlを右クリックし、「このアプリケーションで開く」から、「テキストエディット」などのエディタソフトで開きます。
中身は3行しかないはずです。(※中身が3行でなくたくさん記述してある場合、すでにKarabinerで他の設定をしている可能性があります。注2をご参照ください)


5. そこに以下のリンク先の英文のコードの文章をコピーして、貼り付けます。

→こちら(Ver. 4.3 英語版)

→(日本語版はこちらのVer. 3.6 旧バージョンしかありません)

この文章をCommand + A で全て選択し、右クリック→コピー、またはCommand + Cでコピーし、それを先ほど開いたprivate.xmlの中の
<root>の直後に右クリック → 貼り付け、またはCommand + V で貼り付けます。(<root>と</root>の間に貼り付けること!)

※バージョンアップされる場合も、<root>と</root>の間に同じように貼り付けてください。
Private-JP

(Ver.3.7以降は英語版のみ更新していますので、英語版の使用をお勧めします。以下は全て最新版の機能を説明しています。)

6. 貼り付けたらそのまま保存して、「private.xml」を閉じます。


7.システム環境設定の「キーボード」から、「ショートカット」のタブを開き、“入力メニューの次のソースを選択”がチェックされていて、ショートカットが「⌥⌘スペース」になっていることを確認して下さい。

11
 
もしそうなっていない場合は、下にある「デフォルトに戻す」をクリックし、 “入力メニューの次のソースを選択”がチェックされていることを確認します。
 

8. 再びKarabinerに戻ります。
一番左のタブの「Change Key」をクリックします。

スクリーンショット_2014-08-09_5_34_38
9. 右にある「Reload XML」をクリックします。

すると、
「One Shot Input Source Shortcut 4.3 - For Multi Input Source User 4.3(入力ソース一発切替ショートカットキー )」と
「Hangul to Hanja(ハングルを漢字変換)」というメニューが現れます。 
「One Shot Input Source Shortcut 4.3 - For Multi Input Source User 4.3(入力ソース一発切替ショートカットキー) 」をクリックすると、第1〜第5入力ソースへの10種類のショートカット設定が現れます。
59

用意した多言語用ショートカットは、以下の10種類です。
  • 右Command(⌘)
  • 右Option(⌥)
  • fnキー
  • 左Command(⌘)
  • 左Option(⌥)
  • 左Control(^)
  • かなキー(or 韓/英キー)
  • 左Control(^) + K
  • 左Control(^) + i 
  • 左Command(⌘) + Space
この10種類それぞれに別々の入力ソース(言語)を割り当てることが可能です(5つまで)。

10. これらのチェックのどれかを上の画面のようにオンにすると、直ちに各設定が有効になります。
同じ入力ソースに対して複数の設定が可能ですが、一つのショートカットキーの指定は当然1つのみ(一番上のもの)が有効です。
  

11. ここで注意するのは、設定したいのが何番目の入力ソースなのかということです。
この順番を知るために、以下を試します。
 (1) 一度英数キーを押して英数モードにする。
 (2) Option+Command+Spaceを繰り返し押して、何度押すと目的の入力ソースに切り替わるかを見る。(画面中央に言語表示は出ません。右上の入力ソースアイコンが切り替わるのを見てください。切り替わらない場合は、7.を再度確認してください。)英語は第1ソースです。
 もし2回押したら目的の入力ソースになったという場合は、3番目のものになるので、第3入力ソースをショートカットで設定することになります。
3回押した場合は第4入力ソース、4回押した場合は第5、となります。
 
実は入力したい言語によって、何番目に来るかの順序が変わります。例えば日本語モードで韓国語を入れて全部で3つの入力ソースを使っている場合は、順番は英-日-韓になるので、韓国語は第3入力ソースになりますが、中国語の場合は英-中-日になりますので、中国語は第2入力ソースになるようです。
(OSが韓国語モードのときは韓国語入力は第2入力ソースでした。) 
そこで、たとえば韓国語と中国語を追加して全部で4つの入力ソースを使う場合、右Commandで第2入力ソース(中国語)、fnキーで第4入力ソース(韓国語)のようにショートカットキーを指定することが可能です。

(“キーボード”環境設定の「入力ソース」から、下のように視覚的に見ることも可能です。
英語を第1として、その下が第2、第3、そして下から上へと続きます。
この場合、「ことえり」は日本語入力の中に「全角英字」、「カタカナ」、「半角カタカナ」、「英字」が含まれているので注意します。)
 スクリーンショット_2014-08-09_6_10_13


おすすめは最初の「右command(⌘)で第◯入力ソースに切り替え」です。
かなキーのすぐ右隣りのcommand(⌘)のキーが、そのままダイレクトに3番目の言語キーになるので、分かりやすくいい感じです。
USキーボードを使っている方も、これで右のCommandキーをかなキーの代わりに使うことも出来ます。
もう1言語加えるときはfnキーに設定すると最下段に全てのショートカットが並ぶので分かりやすいと思いますが、ちょっと押しにくいかもしれません。

これが押しにくいという方は、左control(^) + Kまたは i で切り替えるのが楽だと思います。これはホームポジションで楽に打てます。僕は左control(^) + iを主に使っています。
(ホームポジションのままで打てるcontrol + Kも用意してみたのですが、これは通常カタカナ変換に使われているもので、これに指定するとカタカナ変換はできなくなります)
従来の左command(⌘) + Spaceに慣れてしまっている方は、左command(⌘) + Spaceを一発変換キーにしてしまってもいいでしょう。(※注3)

 
また、「左Control(^)+Jで日本語入力に切り替え」機能も追加してみました。
Jで日本語、Kで韓国語、のような使い方ができます。

他に、韓国語入力をする方のために
「fnキーでハングルを漢字変換」
「Control(^)+Lでハングルを漢字変換」(ホームポジションでできます)
というコマンドもおまけで用意してみました。
ハングルの漢字変換はもともとOption+Enterでできるですのでですが、よく忘れてしまうので……。

=======================
注意
※注1. この設定のためには、ことえりのカタカナや全角英字など、入力ソースが多いと5番目までで収まらず、うまく行きません。(コードを書き換えて6番目移行も増やせば可能ですが……)
「システム環境設定」の、「キーボード」>「入力ソース」 の中で、日本語の中のひらがな以外の入力ソースは解除してしまうのがオススメです。
もしことえりを使いたくない場合、他の英語入力ソースを入れれば、ことえりを削除できるようになります。
ちなみに僕は、Canadian EnglishとGoogleIMEのひらがなのみとを入れて、ことえりは削除しました。この方が色が違って識別もしやすいです。

注2. private.xmlを開いたとき、何かたくさん記述されている場合は、すでにこのソフトを使って他のキーボード設定をされている方だと思います。実は僕も、親指シフトの設定でこれを使っていたので、すでにprivate.xmlのなかにプログラムが書き込まれていました。
この場合、念の為にprivate.xmlをどこかにバックアップとしてコピーを作っておいたほうがいいでしょう。
そしてこのファイルの中の<root>のすぐあとに、上のリンクのコードを貼り付けすれば、他の設定と共存が可能です。他の要素の</item>のあとに入れても大丈夫です。僕も親指シフト設定と一緒にこれらショートカットの設定を使っています。

※注3. 「左command(⌘) + Spaceで第◯入力ソースに切り替え」を選択すると、従来のように左command(⌘) + Spaceで入力ソースを“順番に”手動で切り替えることができなくなります。
この場合、最初にやったようにOption+Command+Spaceを繰り返し押して手動で切り替えることが可能です。(この際は画面中央に入力ソース名は表示されません)
手動で切り替えるためのキーは、「システム環境設定」の「ショートカット」の「入力ソース」で「前の入力ソースを選択」の右に表示されているキーをクリックすることにより、別のショートカットキーを指定し直すことが出来ます。
 

※注4. なお、韓国語の外付けキーボードでは右commandキーがなくその位置に「한/영」キーと「한자」キーがあったりします。
そのようなキーボードの中には、日本語入力が入っているMac環境において、なぜか「한/영」キーが「日本語切替」、「한자」キーが「英数切替」キーとして機能してしまう場合があります。
この場合、日本語を入力ソースに入れず、英・韓のみ使用する場合であれば、Karabinerにもともと解決策があります。
やり方は、Karabinerの「Change Key」タブのなかの「For Korean」にあるキーボード別の設定(Mac キーボード、バーチャルPCキーボード、外部韓国語キーボードの順)で、各ショートカットキー設定をオンにするだけです。すると、「한/영」キーと「한자」キーがちゃんと機能するようになります。

しかし、日本語を入力ソースに入れている場合(日・英・韓の場合等)は、この「For Korean」設定はうまく機能しません。(韓国語キーボードの「한/영」キーがかなキーとして作用し、また本体のかなキーは「한/영」キーになってしまいます)
そこで、"One Shot Input Source Shortcutで設定できるショートカットキーをうまく使って、韓国語に切り替えるのがよいでしょう。
また、日本語キーボードのMacで韓国語OSモードを利用する場合も、これが有効でしょう。


※注5.入力言語を新しく入れた場合、最初はうまく切り替わりませんが、command+Spaceで一度指定してやると、それ以降はきちんと切り替わるようになります。

このショートカット機能は、Mac OSのバグで他の入力ソースへの切り替えがダイレクトに反映されないため、Karabinerのプログラムで強制的にまず英語入力にしたあと何度もすばやく言語切替をさせ、指定の入力ソースで止まるように設定したものです。
コードを書き換えれば、他のショートカットキーを設定したり、入力言語をさらに増やしたりすることも可能です。
 
 
【※更新履歴】
・右commandキーでも従来のように右command+deleteでファイル等の削除をすることができるようになりました! ――(Ver.3.1) 2014.3.22
・日本語キーボード用という記述をなくし、設定画面の構成を変更しました。  ――(Ver.3.2) 2014.3.22
・KeyRemap4MacBookがメジャーバージョンアップしてKarabinerに名称変更しました。Karabiner10.1.0バージョンにて動作確認済みです。 ーー2014.8.9
・KeyCode::VK_WAIT_10MSの待機時間を減らし、なるべく瞬間的に目的言語に変わるようにしてみました。ーー(Ver.3.3)
・「左Control(^)+Jで日本語入力に切り替え」機能を追加しました!ーー(Ver.3.4)
・解説の中で第◯入力ソースかの判定の方法の数字が間違っていたので訂正しました。正しくは、Option+Command+Spaceを2回押したら目的の入力ソースになる場合は、第3入力ソースでした。 ーー2014.8.9
・システム環境設定の言語設定で、“入力メニューの次のソースを選択”がチェックされていない場合にエラーとなる問題を追記しました。 ーー2014.8.9
・韓国語入力のための漢字変換のショートカットを、「かなキーでハングルを漢字変換」から、「fnキーでハングルを漢字変換」に変更しました。 ーー(Ver.3.5) 2014.8.9
・インストールのための方法を分かりやすく書き直しました。 ーー2014.8.9
・「fnキーで第◯入力ソースに切り替え」ショートカットを追加しました! ーー(Ver.3.6) 2014.8.9
・private.xmlファイルが文字化けする場合のためのダウンロード先を作りました。 ――2014.8.11
・英語版を作成しました!※以降のバージョンアップは英語版で行います。 ――2014.8.12 
・左Commandキー、左Optionキー、左Controlキーのショートカットを追加しました! (Ver. 4.0)  ――2014.8.12 
・第1入力ソースである英語へのショートカットを追加しました! これで、英数キーのないUSキーボード等でも一発で英語に変換できます。 (Ver.4.1)――2014.8.15
・かなキー(韓/英)をショートカットに追加しました! 右Optionをハングルの漢字変換キーに設定するショートカットを追加しました! (Ver.4.2)――2014.8.15
・韓国語の紹介ページを作成しました! → http://blog.naver.com/minority25/220092617752
・韓国語外部キーボード用の漢字キーの設定を追加しました! ――(Ver.4.3) 2014.8.15 

↑このページのトップヘ