IE6 のような application/xhtml+xml に対応していない UA にだけ text/html で XHTML 文書を送付するにはどうすればよいか、という問題。ようやく実用的な振り分け方法を見つけることができた。というより Google 検索かけたら出てきたし。
そのサイトは Reread。つーかさとみかんにある私の巡回サイトではないか。……日付も今年の1月4日。一体私は何を見ていたんだ。
Reread に載っていた .htaccess
に書く内容を、このサイトに合った形で書き直して下に挙げる。
AddOutputFilter INCLUDES .xhtml RewriteEngine On RewriteCond %{HTTP_ACCEPT} application/xhtml\+xml RewriteRule \.xhtml$ - "[T=application/xhtml+xml; charset=euc-jp]"
ただこれだけじゃ何のことだか解らないと思うので、行ごとに解説してみる。
AddOutputFilter INCLUDES .xhtml
.xhtml
ファイルで SSI を行わせるようにする。但し、Apache 2.x 系のみ。Apache 1.x 系のサーバなら、代わりに AddHandler server-parsed .xhtml
としなければならない。
RewriteEngine On
mod_rewrite という Apache のモジュールを動作させるようにする。無いと次行以降の命令(RewriteCond や RewriteRule)が実行されない。
RewriteCond %{HTTP_ACCEPT} application/xhtml\+xml
XHTML を解釈することができる UA であるかどうかを判別する。
具体的には、UA が送出する環境変数 HTTP_ACCEPT の中に application/xhtml+xml が含まれている場合、RewriteRule を実行する。
RewriteRule \.xhtml$ - "[T=application/xhtml+xml; charset=euc-jp]"
XHTML を解釈することができる UA であるならば、application/xhtml+xml という Content-type を出力する。
具体的には、RewriteCond の結果が真であるならば、.xhtml に対して送出される MIME-type を T=
以降の文字列(application/xhtml+xml; charset=euc-jp)に置き換える。
「たった4行にこれだけの背景が存在していたのか!」と驚いてもらえれば嬉しい。ただ、ここに書いたことは表面に過ぎない。もっと奥には、更なる仕様と実装の新境地が待っているのだ。……ワクワクするじゃないか。(自分にとっては)未開の奥地が、それこそ延々と広がっているのだ。
最近、どうにも仕様書やドキュメントを参照して色々と書くようになっている。何より、昔あった出来事がそうさせるのだが……。またおいおい書くことにする。
今日の記事が、私と同じ境遇にある人間の目に触れますように。
以下、参考文献。
うぇぶでざいなーのためのえほん。かなりメルヘンチックだけれども確かな部分は押さえてあるような感じなので一読するとよいかもしれない。ただ、全部平仮名で書いてあるので非常に読みにくいのはご愛嬌。
で、用語対応表でも作ろうかと思っていたら先を越された。しかも書いた本人がコメントをつけて追加説明している。……さいですか。でも、W3C がおおきなき
なのは、恐らく Amaya のアイコンが木だから。その説明が無かったので勝手に理屈付け。本当のところはどうなんだろうか。
Opera 8.02 リリース。BitTorrent サポートは 8.10 には搭載されている模様。正直どうでもいい。
今日も暑い。洗濯をするには最高だけれども。
W3C が提供している Validator へのリンクを各ページに載せてみた。これで全てのページが簡単に検証できるようになる。
でも、Firefox の HTML Validator (based on Tidy) という Extension を使っているので XHTML については問題ないはず。
バナーは自作。W3C が提供しているやつは大き過ぎてサイトのデザインにあわない。カラーリングとデザインはオリジナルのものを継承しつつ、80×15サイズに収める。所要時間は30分ぐらい。
それにしても、CSS Validator のリファラチェック方式だと文字化けが酷い。原因不明。どうすればいいんだよ……。
Microsoft は好きじゃないが、しかしこの会社の凄いところは、あれ程大きな会社であるにも関わらず「アイデアをパクることに対しての抵抗がない」ことと「やろうと思ったら即断即決である」ことと「とにかくモノにするのは早い」ことだろう。
その代表例として最近登場したのが、Google マップ のアイデアを丸ごと頂いた上に各種ゴテゴテした味付けが施されている MSN Virtual Earth だ。
この Virtual Earth。見た目こそ相変わらずセンスが今ひとつな Microsoft スタイル(とはいえ Windows XP の醜悪な色使いよりはずっとよい)なのだが、結構中身の出来栄えはいい。妙に細かい部分まで作りこんでいるようだ。以下、気づいた点を挙げていく。
先に凡例を挙げておく。
GMAP も MSVE も XMLHttpRequest (XMLHttp) と JavaScript (JScript) を用いて構築されている。故にシームレスでタイムラグの少ないデータ転送とインターフェイスが実現されている。
GMAP が縦のバーになっているのに対し、MSVE は横のバーになっている。
GMAP だとポイント地点を地図の中心にする。但し、MSVE でも最大倍率まで拡大すればポイント地点を地図の中心にする効果だけになる。
GMAP はマウスホイールイベントには無反応。ホイールによるズームイン・ズームアウトは Windows 上で動作する Microsoft 製や Adobe 製の画像処理ソフトウェア全般で使われている。
GMAP では「この倍率の地図はないよ」という画像で地図を埋め尽くす。
GMAP では延々と(地球は丸くて繋がっているから)地図を表示し続ける。
オプションで変更可能。GMAP にはない。
GMAP と同じ使い勝手。
ズームイン・アウトスライダの右にある星型のオブジェクトを右クリックする。GMAP にある、スライダ上の矢印に対応するもの。但し、MSVE の方がアナログ的。クリック部分が十字中心に近いほどスクロール速度は遅くなる。上下左右だけでなく、斜め方向にも動ける。また右クリックし続けている間スクロールし続ける。クリックしたまま十字内部でマウスポインタを動かすと、きちんと認識する。
個人的には、パッと見た瞬間これが画像スライダだとはわからなかった。その点 GMAP のものは見ただけでわかる。
まだアメリカだけ。じきに日本も範囲に入るだろう。
まだアメリカだけ。じきに日本も範囲に入るだろう。
GMAP ではバルーンポップアップ(ピックアップ?)と情報表示用の固定領域(ページ右側)の組み合わせが採用されている。MSVE では敢えてウィンドウ方式を選んだようだ。ウィンドウはゴテゴテとした印象になりがちな反面、情報表示用のスペースをあらかじめページのどこかに確保する必要がないので、ウィンドウのレンダリング領域を丸ごと地図として利用することができ、全体的には広々とした印象を与える。
filter プロパティ(IE のみ)や opacity プロパティ(その他の UA)を使って半透明にされている点に哀愁を感じる。Microsoft の中の人も opacity プロパティを使いたいんだろうか。
パラメータを渡すことでもう一度同じ地点をブックマークから参照することも可能。
保持しておきたい商店や住所の情報をクリックで蓄積しておく機能。Cookie に保持するので、個人の嗜好が丸わかりになる危険もある(考え過ぎか?)。
……他にもあるのだろうが、今のところはこれぐらい。個人的な感想としては、「あまり代わり映えしないなあ」というところ。ただ、もし Google マップ公開より後から開発が行われたものだとしたら、クローズドであるにも関わらず、相当早い開発スピードだといえる。goo マップは以前から開発されていた形跡があるのだが、MSN Virtual Earth はどうなのだろうか? その辺りも気になるところ。
よくよく見れば、検索大手の Google、goo、MSN が揃って同一コンセプトのアプリケーションをリリースしたことになる。凄いことになってきた。……Yahoo はまあおいておく。期待もしてないし。Google のような信念も、goo のような研究熱心さも、MSN のような根性も見受けられない。これからどうやってアピールしていくのだろう?
.xhtml
と .xml
をインデックスファイルとして認識するようになった。管理人に感謝。
で、カウンタの設置に成功。原因はどうやら文字コードの辺りにあったようだ。アップロードした全てのテキストファイルを euc-jp + LF にしたら動くようになった。やれやれ。元のファイルは ISO-2022-JP だった。
輪講のテキストというものは、Web サイトに掲載してもいいのだろうか? 確かに文書そのものは自分で考えて作ったものなのだが、フレーズの中には「プログラミング作法」からとってきて少しだけ変えてあるだけのようなものもある。「引用」……ってことになるのか? そもそも、独創性のある文書って何なんだよ。あまりにも定義が曖昧すぎて判断に苦しむじゃないか。法律屋にはそれでもいいのかもしれないが、生憎と私はそうじゃない。明確で単純な指針が欲しい。
ここは一つ、先生に訊いてみることにしよう。話はそれからでも遅くはない。
話題は変わるが、もう叫びたくてたまらない。
IE のバカヤロー!
……いや、ホントに。XHTML 文書の Content-type を text/html で送付しているのは、ひとえにこいつの所為なのだ。何しろ、application/xml でも「スタイルシートを使用した XML 文書は表示できません」とかほざいてレンダリングしてくれない。application/xhtml+xml が駄目なのはもちろんだが、application/xml ですら駄目だとは思わなかった。
流石に IE コンポーネント UA で見てくれている人がいる以上、きっぱり切り捨て……というわけにもいかない。Microsoft もパッチの一つや二つ出せばいいのに、未だに放置プレイを決め込んでいる始末。性質が悪い。
これに関係する話をもう一つ。今使わせていただいているサーバのシステム、.htaccess
に DirectoryIndex
が使えない。……これを指定すると 500 エラー(だったっけ?)になる。認めていない命令なのだろう。サポート BBS を検索したら、数種類の命令以外は禁止している旨を管理者が記していたログを見つけた。AddType はオッケーなんだけど。
で、何がまずいかというと、本来 .xhtml
であったほうがよい XHTML ファイルの拡張子を、.html
にしなければならないということだ。特に、index.html
に影響する。設定がきちんとされていれば、ディレクトリで終わる URI 文字列(http://eof.my-sv.net/
とか)を参照したときに送付されるデータは、そのディレクトリに存在する index.html
になっている。全ての文書ファイルを .xhtml
にすると、デフォルトでは index.html
や index.htm
に設定されているディレクトリインデックスでは対応できなくなる。index.xhtml
をデフォルトで表示してくれないのだ。よって、ファイルの中身と拡張子が違っている、という奇妙な状況が発生してしまっている。
今度 BBS に書き込んで訊いてみることにしよう。index.xhtml
もインデックスファイルとして認識するようにしてくれ、と。
Mozilla Firefox の次期メジャーバージョンアップは9月頃の予定だとか。待ち遠しい。
そんな中、あれ? と思ったこと。次のバージョンが 1.5 になってる。つまり、1.1 / 1.2 / 1.3 / 1.4 をすっとばしている。何なんだこれはとMozillaZine(日本語版)なんかも見てみると、どうやら「予想以上の機能追加を行えたので 1.1 ではなく 1.5 としてリリースできるだけの土台が整ったから」らしい。
……何だかなぁ、と思う。個人的にはどうでもいいけど。それよりも、追加機能を実用的なものにするべく十分な改良とテストを行って欲しい。Deer Park Alpha 2 の SVG レンダリングは、Alpha 1 に比べて多少良くなっているとはいえ、流石に遅さが邪魔をしている。Opera のそれはだいぶいい感じなのだから、せめてアレに追いついてもらいたい。
「95 いいよ 95」と、謎(でもないか)の発言をしてみる。
Mozilla Firefox 1.0.6 がリリースされた。1.0.5 で行われた内部 API 変更に伴い一部の拡張機能が機能しなくなった問題を修正したもの。ローカライズ版は 1.0.5 をすっとばして 1.0.6 が正式リリースとして出た。1.0.4 から 1.0.6 はセキュリティアップデートでもあるので、早めの更新を。
蛇足として、ふぉくす子以外の何か。……あー、コンビだしね。むしろ出てこないほうが変だというものか。中途半端なヘタレっぷりが「ふはー」という感じの溜息を誘う(褒め言葉)。何だか Thunderbird の帽子が Linux たんのそれを彷彿とさせる。
私は ASCII アートを用いる際、それが一行に収まるような(例えば :-) のような)ものであれば、必ず abbr 要素を用いてマークアップを施している。
それは、ウェブコンテンツ・アクセシビリティ・ガイドライン 1.0 技術書によると、小さな ASCII アートには ABBR 要素とその title 属性を使うこともでき
るとあるからだ。
更に、title 属性へ入れる文字列として、ASCIIアートの代りに普通の言葉で置き換えるという方法もあ
ることが明示されている。<ウインク> は、ウインクしているスマイルマーク「;-)」
、マイナスと大なり記号による矢印(例:-->)は、「therefore(その結果・したがって)」
、一般的でない省略形の「gr8」は、「great」という言葉で置き換えることができ
る、とある。
こうすると、視覚障碍者などがスクリーンリーダといったツールを用いてブラウジングする時、きちんとした情報が伝わる。
私はそれにプラスして、class 属性をつけている。ASCII アートなら asciiart という値を、更にその中でもスマイリーに含まれるものなら smily という値を、それぞれ付与する。CSS で管理すれば、それぞれに適用するフォントを変えたり、通常 abbr 要素には点線をつけるようにしているのでそれを除去したりすることが可能になる。例えば asciiart に適用するフォントは、MS Pゴシックや Mona といったもの、smily には英字フォントである Verdana や Luxi Sans などにしている。こうすれば、前者では 2ch の ASCII アートのズレ防止を、後者ではより自然なスマイリーをある程度実現することができる(そういったフォントが無かったり使えなかったりという環境では意味をなさないが)。
これまで述べたことを総括してみよう。
例えば、以下のようなマークアップになるだろう。
<abbr title="スマイル" class="asciiart smily">:-)</abbr>
気づいたところから少しの改善を加えれば、後々楽になる。この例は、その一つに過ぎない。しかも、この手法はデメリットよりメリットの方が大きい。
是非お試しあれ(闇雲にやっても意味はないけれど)。
30ページのテキストのうち、まだ6ページ分の原稿しかできてない。しかもプレーンテキスト。TeX にすらしてない。あー、今週の金曜日までなのに、大丈夫なんだろうか。
それはさておき。CGI スクリプトが動かない。カウンタを設置したのはいいが、パーミッションもきちんと変更したにも関わらず動かない。サーバーエラーが出る。
何でやねん。
原因不明につきしばらく放置。色々いじってみるつもりではあるが、どうなることやら……。
デザイン名「Space」。名の如くスペース配置に重きを置いてみた。色使いは白をベースに、ワンポイントに緑を。ものすっごい昔(まだ学校のイントラネットにだけ存在していた時代)から、緑というキーカラーは変わっていない。変えるつもりもない。
シャドウもふんだんに使っている。アルファチャンネルを持たせた PNG を使う方法だ。ただ、残念ながら IE6 がアルファチャンネルつき PNG をサポートしていないので、IE ではかなり汚い表示になってしまう。これは致し方ないものとして放置。ぶっちゃけこのサイト、IE(か、そのコンポーネントを使っているものと思しき UA)を使ってアクセスしている人が一人居るぐらいのようなので……(該当する人、スマン)。
1.0.6 が今週中にもリリースされる予定なので、1.0.6 で日本語版を出す模様。
というか、最近個人的には日本語版を使う意味が無くなっている(英語でも何が書いてあるか覚えてるし)ので、英語版を使っている。手間も省けるし。
1.0.5 を自ビルドしなくて正解だった。1.0.6 が出るまで待つことにする。
Mozilla Firefox 1.0.5 がリリースされた。セキュリティアップデートなのだが、まだ今日の時点では日本語版が出ていない。
あー、時間ないから今日はこれまで。
「姉ちゃんにふくしゅうを」というまとめサイトがあることを知り、早速その膨大な 2ch スレのログを読んでみた。
。・゜・(ノД`)・゜・。
やばい。これはやばい。色んな意味でやばすぎる。
……ゆか姉にクリーンヒット。いやホント。
何より凄いのが、Vipper 達のマジレス(自称)。アホかと思うようなものから至極真っ当なものまで玉石混合、ここに 2ch の醍醐味を見たような気がした。
勿論、自作自演だとしても、事実だとしても、面白いことに変わりはない。ログも現物のままでなく、加工済みのもの。
だとしても、ひとつの物語としてハッピーエンドで終わっているのだから、満足しないわけにはいかない(当然バッドだと考える人も居るだろうが)。
久々にいいものを読んだ気がした夏の夜だった。
今日はパーティションの分割をやってみた。デバイス操作に使ったコマンドは以下の通り。
sync
df
mkfs.ext3
e2label
で、以下のようなディスク構成だった。
デバイスファイル名 | パーティション種類 | ファイルシステム | マウントポイント | Windows ドライブレター |
---|---|---|---|---|
/dev/hda1 |
プライマリ(基本) | ntfs | /mnt/windir |
C: |
/dev/hda2 |
拡張 | (なし) | (なし) | |
/dev/hda3 |
プライマリ(基本) | ext3 | /boot |
|
/dev/hda4 |
プライマリ(基本) | linux-swap | (なし) | |
/dev/hda5 |
論理 | ext3 | / |
|
/dev/hda6 |
論理 | fat32 | /mnt/doc |
D: |
で、/dev/hda6
を以下のような構成にしようとした。
/home
に変更以下のような手順を踏んだ。
/root
以下に保存sync
でファイルを確実にディスクへ書き込ませるmkfs.ext3 -c /dev/hda6
を実行(ついでに不良ブロックのチェックも)e2label /dev/hda6 /home
を実行/etc/fstab
に以下の行を追加(勿論 /boot
記述の直下)LABEL=/home /home ext3 defaults,noatime 1 2
/etc/fstab
から以下の行を削除 /dev/hda6 /mnt/doc vfat defaults,utf8,iocharset=euc-jp 0 0
mount -a
を実行/root
以下に保存してあった自分の home を /home
へ移動させる元から論理パーティションを分けていたので、ファイルシステムの変更だけでスムーズに終えられた。既に Windows を使わなくなって久しい(現在2週間ぐらい再起動してない)ので、最早形骸化した D ドライブを ext3 にしてしまうことでより便利にすることができた。
やれやれ、だ。
Google Toolbar が Firefox の Extension になったのは大分話題になったものだが、同時にひっそりと(?)Google Suggest の Firefox Extension も公開されていた。正直、Toolbar など個人的には不要だったのだが、Suggest 機能はとても便利だと感じていたので、早速導入してみた。
感想。……便利といえば便利。使わないこともあるし、使うこともある。
ただ、Web サイト上でインクリメンタルサーチの結果を出させるよりは遥かにレスポンスがいい。XUL を使っているからだ。下手に XHTML を生成させて JavaScript で処理させるよりも、XUL でユーザーインターフェースを作成して、それを JavaScript で制御する方がずっと楽だ。動作と構造を完全に分離することもできる。
暫くこのまま使ってみよう。消したくなったらいつでもできる。
GIMP 2.2.8 が出ていたので、折角だから最適化ビルドにしてみようと考えた。
だが、問題発生。
どこに書けばいいんだよ。
configure
の中……というわけでもなさそう。README
や INSTALL
ファイルにも書かれてない気配。
今日は暇ができたらどうすればいいかを模索してみよう。
卒業研究の論文に、エラー処理用クラスのソースコードが載っていなかったので、ファイルサーバ上に残存していたそれを貰うことにした。言語は C++。
ヘッダファイル(インターフェイス部)を見てみる。メソッドが4つしかない。実現部も大したことないな--と思ったのが浅はかだった。
何だよ八頭身って(謎
他にも 2ch でおなじみの AA がいくつか。エラ-メッセ-ジそのものもかなり遊んでる。
本当に使用するタイプのメソッドと、イ-スタ-エッグ(?)的なお遊びタイプのメソッドに分かれていた。いや-、10分ほど卒研室の同輩と共に「なんじゃこりゃ-!」と言い続けてましたよ。うん。それだけ。
ま-でも MS P Gothic 用に最適化されている AA 達だから、タ-ミナルの Fixed フォントだとぐちゃぐちゃになるのは目に見えている。モナ-フォントを使えばいいんだろうけど、生憎とタ-ミナルでプロポ-ショナルフォントを使うのは嫌いなので。そもそも使えないし。
夏休みが近い。受験も近い。何もかもが近い今日この頃。
今では Firefox と Thunderbird に Mozilla Foundation の顔としての座を明け渡すことに成功した Mozilla Suite。既に今年3月の時点で開発終了を宣言されていたのだが、この度外部プロジェクトとして開発が進められることが決定した。
新しいアプリケーション名は SeaMonkey。元より Mozilla Suite のコードネームとして使われていたものだ。
注意しなければならないのは、SeaMonkey プロジェクトがリリースする Seamonkey は、Mozilla Foundation の公式リリースではないことだ。あくまでも外部のプロジェクトであり、成果そのものは Mozilla Foundation へフィードバックされるものの、それ以上でもそれ以下でもない。
思えば、Mozilla に初めて触れたのは、学校のソフトウェア演習室に入っていた Mozilla 1.0 だった。重いとは感じたが、なかなかどうして使い勝手のいいソフトだった。あれから5年。Mozilla は 1.7.2 になり、Phoenix は Firebird、そして Firefox になった。Mozilla Foundation も登場し、AOL と Microsoft が和解した。激動の時代だったのだろう。
そんな中、ついに Mozilla と呼ばれた怪獣の流れを一直線に受け継いだ古参兵が、Mozilla Foundation から去っていく。感慨深い。かつて一世を風靡した Netscape Navigator 4.x も既になく、Netscape ブランドの衣を纏った Firefox、Netscape Browser が登場するような時代。それは、ユーザが自分が本当に使いたいものを自分で選ぶことができるようになったことを意味する。押しつけの時代は、終わりを告げようとしている。
だが、SeaMonkey を必要とする人も居る。その証拠が、今回の外部プロジェクトによる開発引継決定だ。ユーザが居る限り、ソフトウェアは存在し続ける。オープンソースであることの利点だ。
新しいものも、古いものも、共に残り続けることが大事なのだろう。
工学実験のレポート。木曜日まで。LaTeX と gnuplot の練習にと、Word や Excel を使わずに書いてみている。
まー、gnuplot は面白いね。コマンドベースだから最低限ターミナルエミュレータに慣れてないと使い辛い。慣れてるから使い易かったけど、問題なのはマニュアル類が全部英語であること。Vine Linux 3.1 で apt-get
しただけじゃ、マニュアルまで日本語化されてないのね。
探してみたら、日本語化されているマニュアルを発見。最新版 4.0 のものも存在。いいね。
で、gnuplot 本家からソースも一緒にダウンロードして、いそいそとマニュアルの日本語化を開始。てかこれがないと何もできない。
その顛末についてはまた後日。結構面倒……だ。
冗談はさておき。
Windows マシンとの通信を行いたかったので(つかファイル移送)、Samba を導入してみた。
だが、うまくいかない。
何がうまくいかないかって、それは単純な話。ネットワークカードが起動しないのだ。詳しく言えば、service network restart
をやったりすると、eth0 (つまりイーサネットカード)の起動でエラーになるのだ。
何でやねんと Vine のオンラインマニュアルを眺めていると、LAN-mini-HOWTO なる文書の存在を発見。読んでみれば話は単純。IP が割り当てられていないのがそもそもの間違いだった。
netconfig
にて諸々の値を設定し、/etc/hosts
に必要な情報を記入しておしまい。んでもって smb サーバ再起動。
無事に動いてくれた。
あとはてきとーにマニュアルを読んで設定かましたら、Windows 側から見えるようになった。ファイルを転送してみる。……成功。
1週間以上悩んでいた問題が解決するのって、結構嬉しい。
今、研究室で使っているキーボード。A の横が CapsLock だ。
またこれが非常に使いにくい。Control を多用する Linux のターミナルエミュレータ(bash とか)や Emacs を使っていると、ついつい Control を押そうとして CapsLock を押してしまう。
何故そんな事になるのかって? HHK を家で常用しているからだ。実際、A の横に Control があるだけで、その操作性は格段に変わってくる。Shift の下に Control があると、ぶっちゃけ指が攣る。
ということで、「CapsLock と Control のキー設定を OS 側で変えてしまおう計画」を勝手に発動した。ディストリビューションは Vine Linux 3.1。
XWindow を立ち上げる前の状態で、それを実現することは容易だ。root になって kbdconfig
を実行すればいい。そこに、自分の使っているキーボードの配列(ここでは us)の後に、Ctrl_CAPS がくっついているもの(ここでは us_Ctrl_CAPS)を選択し、「了解」すればいい。
だが、この設定。XWindow に入った後では意味を無くす。kterm や gnome-terminal などで CapsLock を押しても、Control になっていないのだ。通常は XWindow を立ち上げて色々やるので、不都合だ。
そこで、.Xmodmap
というファイルを作ってやる必要に迫られる。これにより、キーマップ(キーボードのキーがどのコードに対応しているかの対比表)を変更し、Shift の下にある Control を CapsLock に、CapsLock を Control にしてやるのだ。.Xmodmap
は、自分のホームディレクトリ直下に置く。以下、.Xmodmap
に書く内容。
! ! Swap Caps_Lock and Control_L ! remove Lock = Caps_Lock remove Control = Control_L keysym Control_L = Caps_Lock keysym Caps_Lock = Control_L add Lock = Caps_Lock add Control = Control_L
!
はインラインコメント。そこから行末までをコメントとして無視させる。
この .Xmodmap
を生成した後、XWindow を再起動すれば、目的は遂げられる。