WindowsなどのMicrosoftオペレーティングシステムを使用するテンキー付きパーソナルコンピュータでは、キーボードに専用のキーの組み合わせがない文字でも、Altコード(Altテンキー入力方法)を使用して入力できる場合があります。これは、キーを押し続けてから、キーボードのテンキーで文字を識別する数字を入力し、キーを離すことで行います。[ 1 ]AltAlt
1980年代のIBM PC互換パーソナルコンピュータでは、 BIOSにより、ユーザーがキーを押しながらキーパッドで10進数を入力することができました。対応するコードがキーボードバッファに格納され、コードが1回のキーストロークで入力されたかのように(ほぼ)見えるようになりました。BIOSからキーストロークを読み取るアプリケーションは、そのコードに関連付けられたアクションに応じて動作しました。コードをコマンドとして解釈するものもありましたが、多くの場合、現在のコードページからの8ビット文字として解釈され、ユーザーが入力しているテキストに挿入されました。[ 2 ]オリジナルのIBM PCでは、コードページはCP437でした。Alt
東欧、アラビア語圏、アジアの一部のコンピュータは別のハードウェアコードページを使用しており、MS-DOS は、やなどのコマンドを使用して実行時にそれらを切り替えることができました KEYB。CHCPこれMODEにより、Alt キーの組み合わせによって異なる文字が生成されます (同時に、以前に入力されたテキストの表示も同様に変更されます)。ラテン文字のバリエーションを使用するロケールでよく選択されていたのはCP850で、より多くのラテン文字のバリエーションが提供されていました (ただし、コードページは他にも多数ありました)。
英語以外の言語での使用を想定したPCキーボードには、各国語キーボード配列、AltGrキー、デッドキーなど、これらの文字を入力するための他の方法も含まれていましたが、Altキーは一部の文字を入力する唯一の方法であり、すべてのマシンで同じ方法であったため、非常に人気がありました。この入力方法は、BIOSキーボードデコードを使用しない多くのソフトウェア(MS-DOSやWindowsの後期バージョンなど)によってエミュレートされています。
ASCII 規格では、0~31 と 127 の数字が制御文字に割り当てられています。たとえば、コードポイント7 は+で入力されます。一部の (ほとんどの?) アプリケーションでは、箇条書き文字• (コードページ 437のコードポイント 7)が挿入されますが、一部のアプリケーションでは、これを+と同一視し、多くの場合、プログラムへのコマンドとして使用していました。CtrlGCtrlG
Altコードはユーザーに非常によく知られ、記憶されていたため、Microsoftは、 OSに新しく異なるコードページセットが搭載されているにもかかわらず、 Microsoft WindowsでAltコードを保持することに決定しました。
Windowsの後のバージョンやMicrosoft Wordなどのアプリケーションでは、Unicodeのサポートが追加されました。これにより、一部のアプリケーションでは、線描画文字など、以前のAltキーの組み合わせがすべて再び機能するという利点が得られました。
CP1252はコードポイント32~126と160~255をUnicodeと同一にマッピングするため、 CP1252を使用するキーボードレイアウトでは、これらのゼロ接頭辞付きAltコードに対応するUnicode文字が生成されます。
IBM PC BIOS では、255 より大きい Alt コードを入力すると、その数値を256で割った余りと同じ値が生成されました。 [ 2 ] [ 4 ]一部のアプリケーションはこの動作を維持していましたが、他のアプリケーション (特にWordPadやPSPadなどのWindows RichEditコントロールを使用するアプリケーション) では、256 から 65,535 までの数値が対応する Unicode 文字を生成するようになりました。[ 5 ]例えば、WordPad で+を入力すると、10 進数の 9731 が 16 進数で 2603 になるため、 U+2603 ☃ SNOWMANが生成されます。Alt9731
ほとんどのUnicodeドキュメントや文字テーブルではコードポイントが10進数ではなく16進数で表示されるため、WindowsはAltコードを16進数で入力するメカニズムを追加しました。これを有効にするには、レジストリキーにREG_SZという文字列( )値を設定または作成し、値データ を割り当ててから、再起動またはログアウト/ログインする必要があります。EnableHexNumpadHKEY_CURRENT_USER\Control Panel\Input Method1
有効にすると、テンキーを長押しして押すと、16 進数の Unicode 入力モードに入ります。数字はテンキーで入力し、文字はメインキーボードで入力します。たとえば、+ を押すとU+011B ě LATIN SMALL LETTER E WITH CARON と表示されます。入力値は 16 ビット値に蓄積されるため、下位 16 ビットのみが使用されます。事実上、これにより入力はUnicode BMP文字 (最大 4 桁の 16 進数) に制限され、超過桁は切り捨てられます。この機能は、すべてのアプリケーションやユーザー インターフェイス要素で動作するわけではありませんでした。Alt+AFAlt+11B
Windowsでは、別の16進数入力モードもサポートされています(あまり一般的には文書化されていません)。このモードでは、テンキーの「+」を押すと、現在のキーボードレイアウトに関連付けられたWindowsコードページを使用して値を解釈するモードに入ります。Alt.
Alt キーを使った方法はChromeOS、macOS、Linuxなどのオペレーティングシステムでは機能せず、それを再現しようとする動きも見られません。ただし、ほとんどのUnixまたはUnix ライクなOS では、 + +を押して離し、16 進数を入力してからスペースバーまたは Enter キーを押すことで、Unicode 文字を数値で入力できます。たとえば、Ctrl⇧ ShiftU
Alt キーが無効になっている場合、同じキーに割り当てられているコントロールが原因で、一部のアプリケーションで Alt コードを入力しようとすると予期しない結果が生じる可能性があります。たとえば、+ が+として認識され、Web ブラウザが前のページに戻る場合があります。Num lockAlt4Alt←