束縛 (コンピュータ)
コマンドバインディングまたはキーバインディングとは一般に、アプリケーションソフトウェアにおいて上級者向けに提供されるキーボードマクロや、機能とキーの関連付けを指す。多くの場合、バインディングは変更や追加が可能だが、削除はできない(つまり、キー押下の組合せと機能の関連付けをなくすることはできない)。
コマンドバインディングの例として、Mac OSの多くのアプリケーションでは、セーブ動作にショートカットキーCommand-Sが関連付けられており、GUIによるメニュー操作なしでセーブ機能が使えるようになっている。Emacsでは "save-buffers-kill-emacs" コマンドがCtrl-X Ctrl-Cという一連のキー押下に対応しており、セーブして終了するというよく使う機能に対して毎回 "save-buffers-kill-emacs" と入力する必要がない。Microsoft Excelのようなアプリケーションでは、一連の操作をマクロとして生成でき、それを起動する簡単なコマンドとバインディング可能である。
コンピュータゲームにも同様のバインディングは存在する。例えば、「撃つ」という動作を任意のキーに関連付けるのもバインディングである。反射神経が必要なゲームでは、コントローラの各ボタンへの機能割り当てをユーザーがカスタマイズできることが多い。
束縛またはバインディング(英: binding)は、主に「対応付け」や「関連付け」などの意味で用いられるコンピュータ用語である。コンピュータ関連で「束縛」という語が使われるものはいくつかあり、それぞれ具体的な内容は異なるので、以下いくつかの例を示す。
言語束縛または言語バインディング (language binding) とは、ライブラリやOSサービスのAPIが特定のプログラミング言語向けに提供されていることを指す。
多くのライブラリは、C言語やC++などのシステムプログラミング言語で書かれている。そのようなライブラリをJavaのような高級言語で使うには、そのライブラリのJavaバインディングなどが作成されなければならない。
ライブラリの言語束縛を各種用意するのは、ソフトウェアの再利用のためであり、ライブラリそのものを複数の言語で作成するよりも効率的である。また、システム言語と同じ機能を高級言語で記述できないためという場合もある。