web-dev-qa-db-ja.com

ファンクションキーをパスワードキーとして使用/設定できないのはなぜですか?

どのオペレーティングシステムでも、 Fn 許可されませんでした。たとえば、私は保つことができません Fn +パスワードとしての文字。

その背後にある理由は何ですか?オペレーティングシステムの設計者が許可することを妨げる技術的側面 Fn パスワードとしてのキー?

私が考えることができる理由は、一部のラップトップでは Fn キーは数字キーパッドを有効または無効にします。しかし、デスクトップはどうですか?デスクトップキーボードには別の Fn、なぜパスワードで使用できないのですか?

パスワードはtext;に他なりません。キー押下ではなく、文字が含まれています。コンピュータは機械式タイプライターとは異なり、これら2つには違いがあります。

記録されたキー押下をパスワードに使用すると、デメリット以外の何物もありません。

  • セキュリティ:パスワードを長くすると、アルファベットを増やすよりもセキュリティ面で効率的です。 (基本的な26文字から始める場合、8文字のパスワードには26文字が含まれます8 = 208827064576の組み合わせ。文字と数字に展開すると36になります8 組み合わせ、13.5倍以上。しかし、代わりに1文字長くにした場合、26になります9 可能なパスワード、正確に26倍。 2文字長い? 2610 可能性、676倍。 私は馬に乗っています。

    (一方、そのような単純な計算では辞書攻撃は考慮されませんが、名前をパスワードとして使用する同じ人々が、可能であれば、自発的にファンクションキーダンスを行うとは思いません。)

  • ユーザーの期待:ほとんどの人は、パス単語を単語や文字を含むものと考えています(秘密にしておくだけです)。だからキーのような F7 または Fn 通常は文字を入力しないため、パスワードフィールドにも何も入力しないでください。ウィンドウのサイズ変更やGoogleのポップアップなどを行う場合は、パスワードフィールドでもまったく同じことを行う必要があります。

  • ファンクションキーの主な目的:一部のキーは、プログラム自体またはオペレーティングシステムによって使用されます。使用するキーはシステムによって異なります。新しいキーボードショートカットが追加されることがあります。

    あなたが使用したとしましょう WinI パスワードを入力してから、Windows98からWindows10にアップグレードします。これで、パスワードを入力できなくなりました。 WinI OS自体によって使用されます。

    または多分あなたは使用しました FnRight 古いラップトップを使用しますが、新しいラップトップでは「次の曲にスキップ」を意味します。最初に音楽プレーヤーを閉じないと、突然Gmailにログインできなくなります。

  • デバイス間のバリエーション: Some キーはすべてのキーボードに存在するわけではありません。 PCデスクトップキーボードを最後に見たのはいつですか Fn キー?またはMacキーボードと Win キー?同じPCでも常に持っているわけではありません Pause または SysRq もう。

    モバイルデバイスでこれらのキーをどのように入力しますか? 12個のボタンを備えたフィーチャーフォンで考えてみましょう。またはiPhone、サードパーティのキーボードの許可を開始する前に...

    人々すでにはそのような問題を抱えています。多くの場合、独自のスクリプト/言語áまたはūのような基本的なラテン語のアクセントも含む)を入力することもできず、固執することを余儀なくされますUS QWERTYキーボードレイアウトが提供するもの–これは、公共図書館や一般的にどこでも一貫して機能する唯一のものです。

  • 最後に、パスワードはtextのままです(そして多くのOSコンポーネントはそれらがテキストであることを期待します)ので、OSは各キープレスをテキストとして保存できるものに変換する方法を決定する必要があります。

    xtermのような端末アプリは(実際の物理端末と同様に)すでにこれを行っていますが、30年後、まだ1つの方法で合意していません。矢印キーには少なくとも2つの異なる変換があり、F1〜F12を変換するには少なくとも4つの異なる方法があります。

    したがって、can入力できます F3 ターミナルベースのプログラムはそれをテキストとして表示しますが、それがESC O RまたはESC [ 1 3 ~またはESC [ [ CまたはESC [ O ..のいずれであるかはわかりません。

51
user1686

Linuxは、パスワードの入力として、ほとんどすべてのキー押下(修飾キー自体を除く)を取ります。 Archシステムでは、パスワードとしてF12-F10-F9を簡単に設定できます。ウィンドウマネージャーがそのキーを飲み込み、「フルスクリーン」コマンドとして解釈するため、F11はその行にありません。

これは、おそらくあなたが試したほとんどの問題です:ウィンドウマネージャー(GUI)は、データを入力しようとしているプログラムに入力を渡す前に特定のキーを飲み込みます。その上にGUIがないコンソールにいる場合、パスワード入力として想像できるほとんどすべてのものを使用できるようになります。

編集:また、一部のキーボードのfnキー入力はハードウェアの変更に固定されています。たとえば、私のLenovo fn + spaceでは、OSから完全に独立してキーボードのバックライトを切り替えます。この場合、OSはキー押下さえ受信しません。

編集編集:grawityの回答(この回答へのコメント)は、おそらくこれをしたくない理由について詳しく説明しています。

12
Simon

これは、オペレーティングシステムではなく、端末に依存します。

一部の端末は、任意の文字列を格納するように構成できます。私はこれを wyse-50's の間、エスケープシーケンスを使用してプログラムしました.

最近では、translationsの-​​ xterm リソースを設定して、文字列を送信できます。このためのエスケープシーケンスはありません(これは便利です: DECUDK が最も近く、結果を16進数で送信します)。

一部の端末(Terminal.appなど)には、任意の文字列を配置できる設定ダイアログがあります。繰り返しになりますが、エスケープシーケンスはありませんが、確実に構成可能です。

一部(明らかに gnome-terminal およびkonsole)では、キーボードの制限された構成を行うことができます。

最終的に答えは見つけることに帰着します

  • 使用している端末がその機能をサポートしている場合
  • もしそうなら、それを効果的に使用する方法。

参考文献:

この回答は、[〜#〜] gui [〜#〜]ではなく、端末のパスワードを扱います。 GUIでは、アプリケーションでファンクションキーがテキストとして表示されない場合もあります。 GUIにはさまざまな制約があります。たとえば、Windowsでは(コメントごと)、パスワードは セキュリティデスクトップ で要求される場合があるため、キーボードの設定方法はそれほど重要ではありません。特に、これは他のプロセスから分離して実行されるため、アドオン(autohotkeyなど)を使用してパスワードを保存/貼り付けることはできません。他のGUIには独自のルールがあり(たとえば XSendEvent を参照)、これは必ずしもオペレーティングシステムによって決定されるわけではありませんが、ランタイムライブラリ。

参考文献:

5
Thomas Dickey

簡単に言えば、使用することはできません Fn これらの組み合わせに対応する文字が定義されていないため、パスワードのキーの組み合わせ。私が言いたいのは、あなたがすべきではないパスワードを入力するときに、可能であっても非標準のキーを使用することです。何かがうまくいかない場合、あなたは困っているでしょう。パスワードはわかりますが、入力できなくなります。

  • コンピュータが故障し、HDDを別のHDDに接続します。入力できないHDDパスワードがないと起動できません。
  • あなたはあなたのコンピュータにアクセスできず(例えば旅行中)、重要な電子メールをチェックする必要があります。幸運を見つける Fn または F1 あなたの電話で。

等.

2

ファンクションキーは、コンピューター上でfunctionsを実行するためです。これらは、現在のテキストコンテキスト(パスワード入力を含むコンテキスト)へのテキストの追加を構成するものではありません。ファンクションキーのポイント全体は、テキスト入力とは異なるメタ操作を実行するためのものです。

さらに、それらは100%オペレーティングシステム固有であるため、移植性はまったくありません。 ASCIIのファンクションキーコードは見つかりません。