MacのX11でIMEを「英数」「かな/カナ」キーで無理矢理on/offする方法
なんか無茶な気もするけど,一応できた.
前回,前々回でなんとなくX11でMacUIMを使って日本語入力する環境が整っているとして,まず,.Xmodmapを以下のようにする.ここでは,英数キーをF3に,かな/カナキーをF4にしてるけどこれは適当に空いてるキーならなんでも良いと思う.
! 円マークキー
keycode 101 = backslash bar yen bar
! 英数キー
keycode 110 = F3
! かな/カナキー
keycode 112 = F4
そして,MacUIMの使っている変換エンジンのon/offのキーバインドの設定を探してそれぞれ,F3,F4を足しておくと,英数,かな/カナキーによるIMEのon/offができるようになる.
ちなみに,MacUIMの設定は ~/.uim.d/custom 以下に格納されているっぽいので分かる人はそっちから設定変えた方がはやいのかも知れないと思った.
あと,primeにしてEnable vi-cooperative modeにチェック入れたらなんだか良い感じな気がする.
2008/09/30 15:02 | Mac | トラックバック(0) | コメント(0)
X11上での日本語入力にMacUIMが使えた
MacのX11で日本語入力するには,MacPortsのkinput2 + cannaしかないと思っていたら,MacUIMがX11でも使えることが分かった.cohtan blog: MacUIMすごいのエントリに感謝!
使い方はHowTo/日本語環境構築 - MacPortsWiki-JPの通りで,前の記事のkinput2のところをuimに直したら使えた.また, /Library/Frameworks/UIM.framework/Versions/Current/bin/uim-xim & となっているところに,--engine=skk をつけるとskk,--engine=prime をつけるとprime,何もつけないとanthyとなるっぽい.さらに,一部の設定はMacUIMをインストールするとシステム環境設定にインストールされるPrefpaneから行えたりする.
とりあえずこれから設定とかいろいろいじってみる.あと,X11上でどうにかして日本語キーボードの「英数」,「カナ/かな」キーでIMEのon,offができるようにしたい.ぼちぼち散歩 HHK Lite2を買ったのでWindowsのキーボード設定を見直してみたにも書いたけど,IMEのon,offが「トグル」というのは最強に気にくわないのでなんとかしたいなぁ.
2008/09/30 14:22 | Mac | トラックバック(0) | コメント(0)
Macでurxvt + screen + zsh + vim環境を作ってみた
iTermの最新版が背景にblurかけれるようになったりしてかっこいいとか思っていて,zsh + Vimしてるとなんだか重いもののそういうものだと思って使ってました.ところが,どうやらiTermじゃなくてurxvt使うとさくさくだという話を聞いて試してみた.
基本的にはBeginning OS X 10.5 - Beginning OS Xを最強に参考にさせて頂きながらも,自分が実際にやってみたことをざっくりと書きます.後から思い出しながら書いてるので間違ってたりするかも知れませんが,大目にみてください(^-^;)
環境整備
ひとまず,Beginning OS X 10.5/インフラ整備編 - Beginning OS Xのうち必要なところをやっていく.X11は指示通りXQuartz projectより最新版をひっぱてきた.XcodeもADCから最新版をインストール済み.Terminal.appは使わないのでパス.MacPortsは既に入っている.kinput2を+cannaで入れておく.environment.plistはここでLANG=ja_JP.UTF-8を指定するとFirefoxアドオンのdel.icio.us IncSearchが正しく動かなくなることがあるのでここでは指定せず,XMODIFIERSだけ指定する.bashではなくzshを使うので,このページの.bashrcの内容を.zshrcに,.bash_profileの内容を.zshenvに書いて,適当に調整する..inputrcも一応..emacsはEmacs使わないのでパス.最後に.xinitrcも作っておく.
urxvtのインストール
Macportsでインストールできるんだけれでも,256色表示のパッチが当たってないようなので,軽量端末エミュレータ urxvtの導入 - ns9logを参考に適当にオレオレPortfileをでっちあげてみた.元のPortfileの末尾に+color256というvariantを追加してみたけど,あんまりよくわかってないので間違っているかも知れません.とりあえず,sudo port install rxvt-unicode +color256 でインストールできました.オレオレPortfileの使い方はHowTo/LocalPortfile - MacPortsWiki-JPなどを参考にして下さい.
# $Id: Portfile 37788 2008-06-23 12:23:21Z takanori@macports.org $
PortSystem 1.0
name rxvt-unicode
version 9.05
categories x11
maintainers nomaintainer
description Unicode-aware rxvt clone.
long_description \r
rxvt-unicode is a clone of the well-known terminal \r
emulator rxvt. Some of it's main features over rxvt are \r
use of UCS-2 or UCS-4 to store text internally, \r
locale-correct in- and output, stability, \r
completely flicker-free \r
display, support for Xft and core fonts in any \r
combination, etc.
platforms darwin
homepage http://software.schmorp.de/pkg/rxvt-unicode.html
master_sites http://dist.schmorp.de/rxvt-unicode/ \r
http://dist.schmorp.de/rxvt-unicode/Attic/
use_bzip2 yes
checksums md5 bf7cbc6440346425c9e9773d213c304f \r
sha1 758d57a88c3521f780bcd21c70d3995f53a2f6e3 \r
rmd160 0f4343a9aa0a8b26d10c6049c1afca2cc7569fc3
depends_lib lib:libX11.6:XFree86 \r
port:expat \r
port:fontconfig \r
port:freetype \r
port:ncursesw \r
port:perl5.8 \r
port:pkgconfig \r
port:render \r
port:Xft2 \r
port:xrender \r
port:zlib
configure.args --enable-everything --with-codeset=all \r
--disable-utmp --disable-afterimage \r
--mandir=${prefix}/share/man
use_parallel_build yes
destroot.env TERMINFO=${destroot}${prefix}/share/terminfo
destroot.violate_mtree yes
pre-destroot {
xinstall -m 755 -d ${destroot}${prefix}/share/terminfo
move ${worksrcpath}/INSTALL ${worksrcpath}/INSTALL_
}
post-destroot {
move ${worksrcpath}/INSTALL_ ${worksrcpath}/INSTALL
xinstall -m 755 -d ${destroot}${prefix}/share/doc/${name}/etc
xinstall -m 644 -W ${worksrcpath} COPYING Changes INSTALL README.FAQ README.configure ${destroot}${prefix}/share/doc/${name}
xinstall -m 644 -W ${worksrcpath}/doc/etc rxvt-unicode.termcap rxvt-unicode.terminfo ${destroot}${prefix}/share/doc/${name}/etc
}
platform darwin {
post-destroot {
xinstall -m 755 -d ${destroot}/usr/share/terminfo
system "TERMINFO=${destroot}/usr/share/terminfo /usr/bin/tic ${worksrcpath}/doc/etc/rxvt-unicode.terminfo"
}
}
variant color256 description {Applying 256color patch} {
post-patch {
cd ${worksrcpath}
system "patch -p1 < doc/urxvt-8.2-256color.patch"
system "patch -p1 < doc/wcwidth.patch"
}
}
zsh, screen, vim
これらは既にインストール済みだったけど,zshはPrivatePortfile/Zsh-devel - MacPortsWiki-JPからPortfileをとってきて,sudo port install zsh-devel +doc +mp_competion +pcre +utf8とか.screenはMac標準で入ってるのがバグってる(?)らしいので,sudo port install screenする.vimは sudo port install vim +huge +perl +python +ruby とか.
設定ファイルいろいろ
なんかいろいろ増えた.urxvtは.Xdefaultsに設定を書くらしい.とりあえず以下のようにしてみた.フォントはM+ と IPAフォントの合成フォントにからもらってきたフォント.
URxvt.termName: rxvt-256color
URxvt.foreground: White
URxvt.background: Gray10
URxvt.saveLines: 20000
URxvt.scrollstyle: rxvt
URxvt.scrollBar_right: true
URxvt.geometry: 100x35
URxvt.shading: 10
URxvt.font:\r
xft:M+2VM+IPAG circle:size=14:antialias=true, \r
xft:Hiragino Maru Gothic Pro, \r
xft:Monaco
URxvt.boldFont:\r
xft:M+2VM+IPAG circle:bold, \r
xft:Hiragino Maru Gothic Pro:bold, \r
xft:Monaco:bold
URxvt.italicFont:\r
xft:M+2VM+IPAG circle:italic, \r
xft:Hiragino Maru Gothic Pro:italic, \r
xft:Monaco:italic
URxvt.boldItalicFont:\r
xft:M+2VM+IPAG circle:italic, \r
xft:Hiragino Maru Gothic Pro:italic, \r
xft:Monaco:italic
Xft*antialias: true
kinput2でShift + Spaceでトグルするのをやめたかったので,.Xresourcesを以下のようにした見た.こうするとCommand + Spaceでだけトグルするようになる.
kinput2*ConversionStartKeys: Mod2<Key>space
日本語キーボードで「英数」や「かな/カナ」キーでもスペース入力になるのが鬱陶しかったのと,円マークキーでバックスラッシュを入力するために.Xmodmapを以下のようにした.ちなみにxevコマンドでキーコードが調べれた.
keycode 101 = backslash bar yen bar
keycode 110 =
keycode 112 =
cannaのトグル用キーバインドを無効にするために Beginning OS X 10.5/運用編 - Beginning OS Xを参考に,.cannaを作ったあと,最後に以下の内容を追加した.
(global-unbind-key-function 'japanese-mode)
(global-unbind-key-function 'alpha-mode)
それから,iTermのときはタブ大好きだったけど,urxvtにはタブがないので,過去に5回ぐらいトライしたものの挫折したscreenに再挑戦.とりあえず,.screenrcは以下のようにしてみた.まだあんまりよくわかっていない.
autodetach on
zombie "q^M"
startup_message off
vbell off
escape ^Jj
defscrollback 10000
defutf8 on
defkanji utf-8
encoding utf-8 utf-8
defencoding utf-8
# 表示
bell_msg "Bell in window %."
activity "Activity in window %."
# タブっぽい表示
# hardstatus alwayslastline "%{= wk}%-Lw%n%f* %t%{= wk}%+Lw %= %y/%m/%d %c "
hardstatus on
hardstatus alwayslastline
hardstatus string "%-w%{=b}%n %t%{-}%+w"
# ターミナルのサイズ変わるの防止
# Aborted because of window size chage
# を防止できるらしい
termcapinfo xterm* 'is=E[rE[mE[2JE[HE[?7hE[?1;4;6l'
defbce "on"
term rxvt-256color
shell zsh
bind U eval "encoding utf-8" "!!!echo 'export LANG=ja_JP.UTF-8'"
bind E eval "encoding euc" "!!!echo 'export LANG=ja_JP.EUC-JP'"
bind s colon "screen ssh"
X11.appの設定
Beginning OS X 10.5/運用編 - Beginning OS Xを参考に,zsh用に以下のようなurxvt-helperをでっちあげて,/usr/local/bin に設置した.
#!/opt/local/bin/zsh --login
export XMODIFIERS="@im=kinput2"
/opt/local/bin/urxvt
そんでもって,defaults write org.x.X11 app_to_run "/usr/local/bin/urxvt-helper" とした.X11アプリケーションメニューも同様にセットしといた.
感想とか
たぶんこれでやったことをだいたい全部書いたと思うけど,いろいろ手順が多い上に試行錯誤してたので,網羅できてるかわかりませんorz
で,実際にしばらくurxvt + screen + zsh + vim をしてみたところ,本当にiTermに比べて圧倒的にさくさく動いた.心配していたscreenもなんとか基本操作ぐらいは手になじんできた.エスケープキーをCtrl-Jとか押しやすいところにしたのと,colonやrollbackの使い方をやっとこさ覚えたのが良かったと思う.
とりあえず,プログラム書くときはしばらくはメインはこの環境でやってみたいと思った.ただ,やっぱり日本語入力がしんどいので結局この文章はiTerm.app + Vimで書いている.
問題点
いかんせんX11経由なので,標準のことえりやらATOKが使えないのが痛い.【コラム】OS X ハッキング! (274) 6月まで待てない! あの「Wine」を試飲する(2本目) | パソコン | マイコミジャーナルによると,Leopardでもkinput2.macimが使えるみたいだけど,手元の環境ではうまくいかなかった.
Vimの256色表示はうまくいくけど,ls -Gとかして,カラー表示するときに以下のメッセージが出る.ちょっと調べ切れていない.
"TERMCAP", line 20, col 1, terminal 'SC': Illegal character - '^J' "TERMCAP", line 20, col 1, terminal 'SC': wrong type used for string capability 'kE
何か間違っている点や,抜けている点,もっとこうした方がいい!とかその他何かあれば教えて下さい.
2008/09/29 19:17 | Mac | トラックバック(0) | コメント(0)
iPhoneのSafariでマルチタッチを試してみた
せっかくiPhoneを買ったので試しにSafariで遊んでみる.ke-tai.orgの以下の記事を参考に,YouTubeのムービーと同じようなのを作ってみた.
- ke-tai.org > Blog Archive > 90秒で理解するiPhone JavaScript(マルチタッチ編)
- ke-tai.org > Blog Archive > 90秒で理解するiPhone JavaScript(ジェスチャー編)
とりあえず,わりと簡単にマルチタッチイベントを取れたので,あとはアイデア次第かなぁ.
2008/09/23 03:25 | iPhone | トラックバック(0) | コメント(0)