これは、日本語キーボード特有の問題ですね。英語キーボードを使っている人、キーマップを英語キーボードと同様に設定している人には関係ありません。
具体的に言うと、シフトキーを押しながら入力する記号が、JA2では正常に入力出来ないため、これらに割り当てられているショートカットが機能しません。実際にこれに該当する記号は 3つ。イコールと、グレイヴ「`」、アスタリスク「*」です。中でも、イコールは「マップ上に居る傭兵全員を選択する」機能が割り当てられており、これが使えないのは痛いです。と言いますか、残り 2つは別に無くても困らないんですが、せっかくなので一緒に面倒を見ちゃいましょう。
そもそも、何故このような問題が起きるのか。それは、JA2のプログラムがキー入力を処理する方法に原因があります。ああ、でも、半分くらいは X側の責任ですかね。JA2のプログラムは、シフトキーを押しながら他のキーを押した場合の処理を、Xに頼らず、プログラム内部で行っています。これは、JA2ではシフトキー単体にある機能が割り振られているため、通常とは違う方法でキー入力を処理する必要があったからでしょう。問題は、この内部で処理している部分が、英語キーボードしか考慮していない点です。このため、シフトキーを押しながら他のキーを押すと、キーボードに刻印されている記号の代わりに、英語キーボードでそのキーを押した時に入力される記号が入力されたとみなされてしまうのです。
実際に英語キーボードを見た事が無い人には分かり辛いでしょうが、英語キーボードと日本語キーボードでは、記号のキー配置が全く違います。例えば、アスタリスクは英語キーボードでは「シフト+8」で入力します。...そう、実は、JA2でシフト+8を押すと、ちゃんとアスタリスクのショートカットが機能するのです。でも、残りのイコールとグレイヴに関しては、英語キーボードではシフトキーを押さずに入力するようになっているため、このままではどう頑張っても入力出来ません。
で、どうすれば対処出来るのかと言うと、実はシフトキーを押さなくてもそれらの記号が入力出来るように、Xのキーマップを変更するだけで済みます。ただ、Xの仕様上、一度キーマップを変更すると、その設定が Xを起動している間(ゲームを終了させた後も)ずっと有効になってしまうので、ゲームの終了時にキーマップを元に戻すようなフォローも必要となります。
日本語キーボードでは、バッククオートとグレイヴはそれぞれシフトキーを押しながらアットマーク、コロンを押す事で入力するようになっています。幸いにも、JA2ではアットマークもコロンも使用しませんので(註:名前入力などでも使えない)、同じキーがそのまま利用出来ます。イコールは、シフト+マイナスに割り振られていますが、これは隣のサーカム「^」キーで入力するように変更します。何故なら、英語キーボードではシフト+マイナスにアンダースコア「_」が割り振られており、これは JA2の名前入力時などに使えるからです。まあ、実際に使う事は殆んどないでしょうが、せっかくなので残しておきましょう。
Xでキーマップを変更するには、Xに添付されている xmodmapというプログラムを利用します。Linux(に限った話ではありませんが)では、キーボードの全てのキーに番号が割り振られており、xmodmapでキーマップを変更する際には、それぞれのキー番号に対して、記号を意味する名前を指定していきます。また、このコマンドで現在のキーマップを調べる事も出来ます。前述のように、JA2が終了した後にキーマップを元に戻す必要もあるので、まずは
$ xmodmap -pk > ~/keymap.dat
として、現時点でのキーマップをファイルに保存しておく事を強くお勧めします。ここで保存されたファイルを見れば、どのキーにどんな「キーコード」が割り振られているかも分かりますが、心配なら、xevというツールを使って確認してみるのも、一つの手です。ターミナルから xevを起動した後でキーを押すと、そのキーに関する情報がターミナルに表示されます。その中の、keycodeと書かれている部分が、今回必要となる情報です。
xmodmapの実行結果から今回の件に関係ありそうなキーの部分を抜粋すると、普通の日本語キーボードなら
20 0x002d (minus) 0x003d (equal) 0x04ce (kana_HO)
21 0x005e (asciicircum) 0x007e (asciitilde) 0x04cd (kana_HE)
34 0x0040 (at) 0x0060 (grave) 0x04de (voicedsound)
48 0x003a (colon) 0x002a (asterisk) 0x04b9 (kana_KE)
となるでしょう。最初に出ている数字がキーコードで、括弧の中に書かれているのが、そのキーに割り当てられている記号を意味する文字列です。左から順番に、普通に押した時、シフトと一緒に押した時、かな入力モード時の文字となっています。元に戻す時には、この順番で、この文字列の通りに設定を書けばよろしい。
xmodmapは、通常はファイルから設定を読み込むようになっているのですが、後々の管理が面倒臭そうなので、起動スクリプトの中に設定オプションも埋め込んでしまう事にします。上で紹介したようにキーマップを設定するのなら、実際に実行すべき xmodmapコマンドのオプションはこんな感じになります。
/usr/X11R6/bin/xmodmap - <<EOF
keycode 21 = equal
keycode 34 = grave
keycode 48 = asterisk
EOF
そして、ゲームが終わった後にキーマップを戻す xmodmapコマンドはこうなります。
/usr/X11R6/bin/xmodmap - <<EOF
keycode 21 = asciicircum asciitilde
keycode 34 = at grave
keycode 48 = colon asterisk
EOF
戻す方にかな入力時のキーを書いていないのは、それを書いてしまうと自分の環境ではエラーが出るからです。どうも、キーマップの標準設定が完全には上手く行ってないみたい。でも、どうせかな入力は使わないので放置。実際には、一度きちんと設定してみて、エラーが出た場合のみ削除した方が良いかもしれません。
xmodmapに渡している「- <<EOF」というオプションについて解説しておきます。まず、ハイフンは xmodmapが用意しているオプションで、「標準入力からオプション設定を読み込む」という意味があります。標準入力は、通常はキーボードからの入力を受け取りますが、ここではシェルが持つ機能を利用して、続く 4行をキーボードから入力されたものであるかのように扱ってもらっています。「<<単語」という表現は、スクリプトの次の行から、最初に「単語」が登場した部分の直前までを、キーボードから入力された文字列としてコマンドに渡す機能があります。これによって、コマンドに渡すデータをスクリプトの中に埋め込んでしまえるわけです。
後は、これらのコマンドを ja2の起動スクリプトに仕込んでしまえば、準備は完了です。一つ目のコマンドを ja2コマンドより前に、二つ目のコマンドを ja2コマンドの後ろに書き加えて下さい。
まあ取り敢えず、今回のお話はこれで終わりです。幾らか工夫が効くと思うので、色々と試してみて下さい。