質問: CentOSで、ターミナルはputtyを使用しています。 矢印キーを敢えて無効にしたいのですが、方法はありますか? できれば自分で作ったワーニングを出せるようにしたいのですが。
回答: ログインシェルに bash を使われているのでしたら方法はあります。bash(と readline library)にはキーバンドを変更する機能がありますので、それを使います。 ``` ignore_cursor_key () { echo "Can not use cursor key."; } bind '"\e[A":"\C-a\C-kignore_cursor_key\C-m\C-y"' # cursor up bind '"\e[B":"\C-a\C-kignore_cursor_key\C-m\C-y"' # cursor down bind '"\e[C":"\C-a\C-kignore_cursor_key\C-m\C-y"' # cursor right bind '"\e[D":"\C-a\C-kignore_cursor_key\C-m\C-y"' # cursor left ``` 以上を ${HOME}/.bashrc に追加して、`. ${HOME}/.bashrc` としてみて下さい。 ただし、いくつか注意点があります。 * `\e[A` などのキーコードがそちらの環境では異なっている可能性があります * bash の行編集モードが emacs である必要があります。 * `Contorl-a`, `Control-k`, `Control-m`, `Control-y` キーをデフォルト以外の動作に割り当てていると期待通りには動作しません