チャットツールで誤爆してしまう

チャットツールは今や仕事では無くてならない重要なツールになりましたが、いわゆる誤爆してしまうことがよくあります。この誤爆とは送信するつもりではないのにEnterキーを押してしまって文の途中で送信してしまうことです。
この誤爆がなぜ多発してしまうのか?また同じ過ちを繰り返してしまうのか?どうすれば防ぐことができるかについて長い間悩んでいましたが、やっと良さそうな解決策を見つけました。

1.なぜ誤爆するのか?なぜ繰り返すのか?

この誤爆する原因は、日本語変換の仕組みと関係しています。つまり、日本語変換では文字を確定するのにEnterキーを押すので、日本語入力の場合は頻繁にEnterキーを押すことになります。そして確定操作をするつもりでEnterキーを押してしまうと誤爆してしまいます。
確定操作のない文字入力では本当に改行するときにしかEnterキーを押さないので誤爆の確率も低くなります。そしてチャットでは短い一文を送信することが多いのでEnterキーを送信に割り当てているツールが多いということになっているようです。日本語変換の確定のためにEnterキーを押すという仕組みを使っている以上、誤爆は多発し繰り返すことになります。

2.誤爆を防ぐ方法

チャットツールでは改行は「Shift + Enter」に割り当てられており、「Enter」は送信に割り当てられていることが多いです。これを踏まえて、いくつか誤爆を防ぐ方法を考えてみました。

(1)「Shift+Enter」と「Enter」を入れ替える

キー入力ツールをカスタマイズして「Shift+Enter」と「Enter」を入れ替えるモードを作るという方法を考えました。しかし、この方法は非常に使いにくいことが分かりました。
これも日本語入力の確定操作が問題で、頻繁に操作する確定が「Shift+Enter」になるのはとても使いづらくなります。そこで、日本語入力の確定操作前の状態を検知して、そのときだけEnterはそのままEnterにするという方法を考えましたが、日本語入力の状態を取得するのは思ったより難しく(Text Services Frameworkを使う)私には実装することができませんでした。ということで、この方法は断念しました。

(2)「確定操作」と「Enter」を入れ替える

そもそもEnterを確定操作にしているので両者を使い分ける必要があるので、確定操作にEnterを使わずに別のキーを使い、それと「Enter」キーを入替えてはどうかと考えました。そういえば確定操作のキーといえば「Control + M」がありました。Enterキーは右手小指で結構遠くにあるので押しにくいということで一部の方は「Control + M」を使って確定操作をしているようです。
そうであれば、日本語入力がオンのときに、この2つのキーを入替えてしまえば誤爆は原理的に防ぐことができるようになると考えました。送信するときは「Shift + M」を入れないと送信できないので、間違って送信することは無くなります。また、日本語入力の確定操作は今まで通りEnterキーを押すだけなので慣れ親しんだ操作で日本語入力をすることができます。

長い間悩んでいたチャットの誤爆問題を解決することができました。ただ、日本語入力のときに改行するのが「Control + M」になったので、多少の慣れは必要ですが、Enterキーを押しても改行しないので、すぐに気が付きます。逆に今まで確定操作でEnterキーを間違って多く押して改行が入ってしまうことがあったので良い面もありそうです。
この機能を次回のDimeのバージョンアップのときに組み込んでみようと思います。それまでに実際に使い続けてもっと良い方法がないか考えてみます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です