fc2ブログ

ぼちぼち散歩

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のムービーと同じようなのを作ってみた.

iPhone/iPod Touchで見て下さい

とりあえず,わりと簡単にマルチタッチイベントを取れたので,あとはアイデア次第かなぁ.

2008/09/23 03:25 | iPhone | トラックバック(0) | コメント(0)

ページの先頭へ

トップページへ