コンピューター ウィンドウズ インターネット

キーボードをシミュレートします。 ペミンデジタル信号の評価の問題について。 キーボードスキャンコードとは

最近のほとんどのキーボードにはマルチメディアキーが装備されており、マウスにはすでに3〜7個のボタンがあります。 ドライバーとあらゆる種類 便利なプログラム Windowsのみ。 Linuxは、システムを自分でカスタマイズできることで有名であることは誰もが知っています。もちろん、どこで何を構成するかを知っていれば。 私たちの仕事は、ペンギンに追加のパンを扱うように教えることです。

キーのスキャンコードを決定する

キーボードを何を押しても、Xサーバーとカーネルは、一般に、キーボードに何が書かれているか、何が描かれているかを気にしません。 彼らはボタンのスキャンコードにのみ関心があり、最初にXがカーネルキーコードテーブルを読み取り、次にキーコードが独自のコードテーブルにリンクされます。 の場合 Windowsの問題コンソールのマルチメディアキー設定自体は存在しないため、Linuxでは、コンソールとXウィンドウのボタンを押したときの応答を個別に構成する必要があります。

キーコードを見つけるには、Xサーバーに含まれているxevユーティリティを使用します。 起動後、[イベントテスター]ウィンドウが表示されます。次に、発行されたコードを記憶しながら、キーを順番に押します。

$ xev
...
KeyReleaseイベント、シリアル31、合成NO、ウィンドウ0x3e00001
ルート0x67、subw 0x0、時間279734676、(311,611)、ルート:(1104,687)、
状態0x2000、キーコード236(keysym 0x1008ff19、XF86Mail)、same_screen YES、

XFilterEventは次を返します:False
KeyReleaseイベント、シリアル31、合成NO、ウィンドウ0x2600001、
ルート0x67、subw 0x0、時間265877259、(883,334)、ルート:(886,358)、
状態0x0、キーコード161(keysym 0x0、NoSymbol)、same_screen YES、
XLookupStringは0バイトを提供します:
XFilterEventは次を返します:False

イベントテスターウィンドウ上を移動すると、すべてのマウスの動きが追跡されるため、出力が圧倒される可能性があります。 キーはKeyReleaseブロックによって記述されます。特に、キーコード値は正確に知りたいスキャンコードです。 示されている例では、2つのキーが押されました。 キーコード236は、keysymで指定されたXサーバーのキーコード、およびKDEでデフォルトのメールクライアントを起動するXF86Mailアクションに対応します。 キー番号161の場合、コードとアクションは定義されていません。

キーを押してもスキャンコードが発行されない場合があります。 これは、カーネルが一致する値を見つけることができないことを意味します。 dmesg出力には、次のような行が含まれている必要があります。

「setkeycodes0xec」を使用します 「それを知らせるために。

つまり、setkeycodesを使用してキーのスキャンコードを自分で設定することができますが、キーコード値は非常に簡単に選択できます。 結果の桁を10進数に変換し(ほとんどの電卓はこれを実行できます)、128を追加します。 この例 0xec = 236、つまり、スキャンコード364を取得します。疑わしい場合は、コンソールでgetkeycodesまたはdumpkeysユーティリティを実行することにより、使用済みおよび未使用のスキャンコードのリストを表示できます。 たとえば、出力が「getkeycodes | grep<код клавиши>「何も与えなかったので、このコードは安全に使用できます。

XmodmapのグラフィカルフロントエンドであるXKeycapsユーティリティ(www.jwz.org/xkeycaps)も、スキャンコードの決定に役立ちます。

もちろん、コンソールでは、xevプログラムは機能しません。 カーネルによって発行されたスキャンコードを見つけるには、showkeyまたはgetkeycodesユーティリティを使用します。

$ショーキー
キーボードはUNICODEモードでした
任意のキーを押します(プログラムは最後に押してから10秒後に終了します)...
0xe0 0x6c 0xe0 0xec

最初の2桁は押されたキーに対応し、2桁目は押されていないことに対応します。

X-Windowでのスキャンコードのバインドの構成

したがって、スキャンコードができたので、Xサーバーに、このキーが押されたときに実際に何を実行するかを指示する必要があります。つまり、シンボル名を割り当てます。 シンボリック名のリストについては、XF86keysym.hヘッダーファイルを参照してください。 デフォルトでは、Xサーバーヘッダーファイルは最新のディストリビューションにインストールされていません。 Ubuntuで表示するには、x11proto-core-devパッケージをインストールする必要があります。その後、このファイルは/ usr / include / X11ディレクトリにあります。 または、X.OrgCVSサーバーにアクセスすることもできます。 私たちが見ます:

$ cat /usr/include/X11/XF86keysym.h
/*
*一部の「インターネット」キーボードにあるキー。
*/
#define XF86XK_Standby 0x1008FF10
#define XF86XK_AudioLowerVolume 0x1008FF11
#define XF86XK_AudioRaiseVolume 0x1008FF13
#define XF86XK_AudioPlay 0x1008FF14
#define XF86XK_AudioStop 0x1008FF15
#define XF86XK_Mail 0x1008FF19

最後の行をxev出力と比較すると、値がキーコード236(keysym 0x1008ff19、XF86Mail(XK_サフィックスなし))のキーと一致していることがわかります。 / usr / share / X11 / XKeysymDBで使用する必要があるため、使用可能なすべての値のリストを見つけることができます。

独自のレイアウトを作成するには、キーボードの説明を作成するか、Xmodmapを使用するかの2つの方法があります。 最後の方法が最も簡単なので、さらに詳しく説明します。 ユーザーのホームディレクトリに、.Xmodmapファイルを作成します。このファイルに目的の値を入力します。

$ mcedit〜 /。 Xmodmap

キーコード161XF86Calculator
キーコード174XF86AudioLowerVolume
キーコード176XF86AudioRaiseVolume
キーコード162XF86AudioPause

などなど、原則は明らかだと思います。 さらに、キーコードは10進数と16進数の両方の形式で入力できます。 私の観察では、ほとんどのキーのコードは標準化されています。 したがって、一度キーを押したときの反応を設定してファイルを別のコンピュータに転送すると、別のキーボードで署名されたキーを押したときの反応が似ている可能性があります。 GDMを使用するGnomeデスクトップユーザーは、これらすべての行をシステム全体の/ etc / X11 / Xmodmapに書き込むことができます。

それ以外の場合でも、生成されたファイルを使用するようにXサーバーに指示する必要があります。 これはディストリビューションごとに異なる方法で実装されます。主なアイデアは、ユーザーがログインしたとき、またはXが起動したときに、コマンド/ usr / bin / xmodmap $ HOME /.Xmodmapを実行することです。 フォーラムでは、ファイル$ HOME / .xsession(一部のディストリビューションでは.Xsessionと呼ばれる場合があります)、. xprofileまたはsystem / etc / X11 / Xsessionを使用することを提案しています。 そして、私はこれがすべてではないことを恐れています 可能なオプション..。 KUbuntuでどのように行われるか見てみましょう。

$ sudo grep -iR xmodmap / etc

その結果、次の内容の最も興味深いファイル/etc/X11/Xsession.d/80ubuntu-xmodmapが見つかりました。

$ cat /etc/X11/Xsession.d/80ubuntu-xmodmap

/ usr / bin / xmodmap /usr/share/apps/kxkb/ubuntu.xmodmap || true

USRMODMAP = "$ HOME / .Xmodmap"

if [-x / usr / bin / xmodmap]; それから
if [-f "$ USRMODMAP"]; それから
/ usr / bin / xmodmap "$ USRMODMAP" || true
fi
fi

つまり、ubuntu.xmodmapファイルのコンテンツが読み込まれ、custom.Xmodmapファイルが存在する場合はそれが読み込まれます。 エディターでubuntu.xmodmapを開くと、キーコードと関連する記号名のリストが表示されます。 このことから、次のように結論付けることができます。開発者が配布キットがマルチメディアキーボードをサポートしていると報告した場合、高い確率で同様のファイルを見つけることができます。 他のディストリビューションには、カスタムxmodmapファイルを実行するための同様のシステムがあります。

シンボリック名がキーに割り当てられたので、必要なアクションをキーに割り当てることができます。 KDEのようないくつかのウィンドウ環境はシンボリック名を処理できます。 したがって、XF86AudioPlay(QUESTION)でボタンを押すと、デフォルトのプレーヤーが再生を開始します。 希望の組み合わせを設定するには、「KDEコントロールセンター->地域とアクセシビリティ->キーボードショートカット」に移動します(KUbuntuの「システム設定」->「キーボードとマウス」を参照)。 同様のアイテム Gnomeにはメニュー(gnome-keyboard-bindingsを呼び出すことができます)とXFceがあります。 さらに、Amarok、Konqueror、MPDなどの一部のプログラムもキーストロークを処理できます。 を持っていない他の環境では
グラフィカル構成ツールでは、構成ファイルに手動で介入する必要があります。 たとえば、IceWMで、記号名XF86AudioPlayのキーを押したときにXMMSプレーヤーを起動し、もう一度押すと一時停止し、最初の起動後に表示される〜/ .icewmファイルに次の行を追加します。

$ mcedit〜 / .icewm

キーXF86AudioPlayxmms --play-pause

Fluxboxでは、プレーヤーを開始する行は次のようになります。

$ mcedit〜 / .fluxbox /キー

なしXF86AudioPlay:ExecCommand xmms --play-pause

通常、構成には例がありますので、他のウィンドウマネージャーで自分で理解できると思います。

コンソールでの反応の構成

コンソールでは、手順が少し異なります。 ご存知かもしれませんが、dmesgの出力では、setkeycodesコマンドを使用してキーコードを割り当てることを推奨しています。 ただし、違いがあります-コンソールには128を超えるキーコマンドを含めることはできません。0から127までの値を選択する必要があります:

$ setkeycodes 0xec 118

現在のキーボードレイアウトのファイルで空き値を表示できます。 UbuntuおよびすべてのDebianベースのディストリビューションでは、これは通常/etc/console-setup/boottime.kmap.gzです。 起動後、キーに問題がない場合は、この行を起動スクリプトの1つ(たとえば、/ etc / init.d / rc.local)に入力します。

ここで、キーと実行するアクションの間の対応を設定する必要があります。 ここには、Xよりも創造性の余地があります。 キーマップ(5)では、キーコードマッピング手順は次のとおりです。

(プレーン| )keycode keynumber = keysym

#コード105のキーを押すと、コンソールを1つ戻します
キーコード105 = Decr_Console
#をクリックするときにコンソールを1つ前に切り替えます およびコード106のキー
altキーコード106 = Incr_Console

ただし、変数でコマンドを指定することにより、独自のバリアントを作成できます。

キーコード120 = F100
string F100 = "/ sbin / shutdown -h now \ n"

つまり、120キーを押すと、F100変数で指定されたアクションが実行されます。 この場合、コンピューターの電源はオフになっています。 もちろん、F100の代わりに、他の名前を使用することもできます。

さて、同様に重要な部分は、それをすべて書き留める場所です。 ドキュメントと多数のヒントは、現在のコンソールマップファイル(私の場合はboottime.kmap.gz)の使用を提案しています。 ちなみに、これはKUbuntuのインストール後に利用できる唯一のレイアウト記述ファイルです。 残りのオプションを表示するには、console-dataパッケージをインストールします。 その後、/ usr / share / keymaps / i386 /に、ファイルを含むいくつかのサブディレクトリがあります。 ただし、別のレイアウトに切り替える必要がある場合(Ubuntuおよびその他のディストリビューションでは、/ etc / default / console-setupまたは〜/ .console-setupファイルがこの目的で使用されます)、すべての設定をに転送する必要があります。別のファイル、これはややです
快適でない。 この手順を実行する場合は、最初の位置に何も書き込まずに、既存のレコードをテンプレートとして使用し、最後に空の行を残すことを忘れないでください。

ラップトップについて少し

私がラップトップに出くわすまで、そのキーのスキャンコードは決定できませんでした。 したがって、ここでの設定は上記の設定と同じです。 一つお話ししたいテクニックがありますが。 コンピューターの電源を入れた後、すべてがその場所にある場合は、休止状態モードを使用すると非常に便利です。 最新のディストリビューションは、原則としてそれをサポートしていますが、構成は一般に難しくありません。休止状態のパッケージをインストールし、構成ファイルの必要なパラメーターをオーバーライドするだけです。 唯一のことは、このモードに切り替えるたびに、スクリプト/ usr / sbin / hibernateを実行する必要があるということです。これは、必ずしも便利ではありません。 ノートパソコンの蓋を閉じて、再びオンにします
食べ物、その場所ですべてを発見してください。

これは、acpidデーモンを使用して非常に簡単に実行できます。acpidデーモンは、/ proc / acpi / eventを介してアクセスされるACPIイベントを管理できる一種のユーザーインターフェイスです。 同時に、acpidは/ etc / acpi / events /ディレクトリから設定ファイルのセットを読み取ります。 配布キットにデーモンが含まれているパッケージがない場合は、リポジトリからインストールしてください。 最新バージョンはphobos.fs.tum.de/acpiから入手できます。 インストール後、/ etc / acpi / eventsディレクトリにlidとpowerの2つのファイルを作成する必要があります。 1つ目は蓋を閉めたときの反応、2つ目は電源ボタンを押したときの反応です。

$ sudo mcedit / etc / acpi / events / lid

イベント=ボタン/ふた。*
アクション= / usr / sbin / hibernate

$ sudo mcedit / etc / acpi / events / power

イベント=ボタン/電源。*
action = / sbin / shutdown -h now

これらはやや簡略化されたバージョンですが、KUbuntuにはより複雑なスクリプトがあります。 その後、acpidデーモンを再起動する必要があります。

$ sudo /etc/init.d/acpid restart

これで、ラップトップの蓋を閉じると、システムは電源がオフの状態で休止状態になり、電源ボタンを押すと、システムの電源がオフになります。 シンプルで便利。

構成プログラム

構成ファイルをいじるのが苦手な場合は、マルチメディアキーの動作をカスタマイズするのに役立つプログラムをいくつか紹介します。 たとえば、Svenプログラム(sven.linux.kiev.ua)の本来の目的は、構成することです。 追加のキーマルチメディアキーボードでは、バージョン0.4以降、入力エラーを修正し、キーボードレイアウトを変更できます。 さらに、通常のキーボードを使用している場合でも、代わりにキーボードショートカットを使用してマルチメディアキーをエミュレートできます。 特定のマウスボタンにアクションを割り当てることもできます。 彼女は約10,000のロシア語と9,500の英語の単語を理解しています。 プログラムが切り替わらない場合
それ自体、特別に割り当てられたキー(デフォルトではBreak)を使用して、レイアウトを手動で変更できます。 別のキー(スクロールロック)を使用すると、単語の大文字と小文字を変更できます(上、下、最初の文字-上、残り-下)。 キーボードレイアウトスイッチインジケーターは各ウィンドウの状態を記憶しているため、多くの場合、アプリケーションを切り替えても、レイアウトを追加で変更する必要はありません。 このプログラムには大きな可能性がありますので、ぜひご覧ください。 すべての設定はを使用して行われます グラフィックプログラム GTK +ライブラリに基づいて構築されています。 SvenはLinuxでテストされていますが、原則としてBSDシステムでも動作するはずです。 使用したウィンドウマネージャー
無関係。

KeyTouch(keytouch.sf.net)機能はやや控えめで、このユーティリティはマルチメディアキーの構成にのみ使用されます。 ただし、その助けを借りて、デフォルト設定とは異なるアクションを任意のキーに割り当てることができます。 プログラムのWebサイトでは、一部のディストリビューションのソースとパッケージに加えて、最も有名なメーカーのマルチメディアキーボードの既製の設定を見つけることができます。

もう1つの興味深いソリューションであるxbindkeys(hocwp.free.fr/xbindkeys/xbindkeys.html)を使用すると、シェルコマンドを含め、任意のコマンドを任意のキーボードおよびマウスボタンに割り当てることができます。 すべての設定は、シンプルでわかりやすい形式の構成ファイルで行われます。

この本には、解決するためのヒントが含まれ、要約されています 様々な問題、遅かれ早かれ、経済的なネットブックと最新のデスクトップモデルの両方の運用で発生します。 提供されているすべてのレシピは、フィールドテストされ、トピックごとに分類されています:ハードウェア パソコン, コンピューターネットワークおよびインターネット接続、Windows OSのインストール、構成および修復、インターネットブラウジング、ウイルス保護。 突然の問題に対する既成の解決策だけでなく、コンピューターを購入する前に発生する多くの質問への回答も検討しました。 必要最小限のものが与えられます 技術データ情報に基づいた決定を下すことができます。

CDは、本の印刷版にのみ含まれています。

本:

このページのセクション:

キーボードには、決して使用しないキーがたくさんあります。 最も厄介なのは鍵です 、すべてが大文字で書かれていたFortranなどのプログラミング言語の時代から保存されています。 誰もが全身を使用することはめったにありません Windowsキー(メインと呼び出しの両方 コンテキストメニュー)-マウスで行う方が便利です。 その間 偶発的なプレスこれらのキーはすべての作業を遅くします。 イライラしている人は、それらを無効にするか、他の機能(たとえば、隣接するキー)に再割り当てすることができます。

これらのアクションを例で考えてみましょう。次に、一般的なケースでこれがどのように行われるかを説明します-任意のキーについて。

まず、HKEY_LOCAL_MACHINESYSTEMCurrentControlSet ControlKeyboardレイアウトレジストリキーに新しいバイナリパラメータを作成する必要があります(キーボードレイアウトと混同しないでください)。

00 00 00 00 00 00 00 00

03 00 00 00 00 00 5C E0

00 00 5D E0 00 00 00 00

この行は、Windowsチェックボックスキーと隣接するポップアップメニューキーを無効にします。 ここに何が書かれているのか理解しましょう。

まず、8組のゼロが連続している必要があります。 次に、数字(先行ゼロ付き)が表示されます。この場合は03で、追跡するキーの数に1を加えたものです(つまり、この例では2つのキーを追跡しています)。 常に3組のゼロが続く必要があります(最大4組の数値を補完します)。 レコードは常に4組のゼロで終了する必要があります。 しかし、それらの間には、追跡キーに提供した数の4つのペアの数字(この場合は2つ)を書き込む必要があります。 それらには、無効にしたいキーのいわゆるスキャンコードが含まれています。 テーブル 12.2は、切断または交換の候補として検討することが推奨されるキーのコードを示しています(以下を参照)。

これらのコードは、数字の4つのペアごとの最後の2つのペアで記述され、最初の2つのペアは再びゼロになります-サンプルでわかるように。 したがって、例の行は右のキーを無効にします (Windowsフラグ付き)(00 00 5C E0)および隣接キー ポップアップメニュー(00 00 5D E0)を呼び出します。

表12.2 キースキャンコード


スキャンコードとは何ですか、どこで入手できますか

スキャンコードは、特定のキーを押したときにキーボードが出す番号です。 スキャンコードを仮想キーコードと混同しないでください。仮想キーコードはすでにBIOSおよびWindowsレベルで形成されており、その後、たとえばコンテンツを形成する文字コードを決定します。 テキストドキュメント..。 ほとんどの場合、それらはまったく関連していません。 たとえば、「スペース」キーの仮想コードは32(シングルバイトエンコーディングの「スペース」文字のコードと同じ)であり、そのスキャンコードは57です(HEX形式では20と39になります)。 、 それぞれ)。 仮想コードはシンボリックコードと同等ではないことに注意してください。仮想コードを文字コードに変換するには、言語レイアウト、キーの状態も考慮する必要があります。 , ちなみに、使用されているエンコーディングシステムはシングルバイトまたはUnicodeです。 これはすべて、プレスイベントがWindowsメッセージキューに到達する前でも、システムキーボードドライバーによって実行されます。 いくつかのキー( また )はどの文字にも関連付けられておらず、指定されたキューに入れられません。 したがって、特定のキーの機能を完全に置き換えるには、仮想コードを置き換えるだけでは不十分です(実際、DelphiまたはVisual C ++のプログラミングスキルを持っている人なら誰でも実行できます)。より深いレベルで操作し、操作する必要があります。スキャンコード。 これにより、Windowsレジストリのスキャンコードマップパラメータが有効になります。

以下の表から推測できるように、スキャンコードは、10進数ではなく、16進数(HEX)で表示する必要があります。 仮想コードと文字コードの表は通常、Windowsプログラミングチュートリアルに添付されていますが、スキャンコードの完全な表を見つけるのは簡単ではありません。 これらのテーブルの1つはサイトにあります " Eライブラリ「リンクhttp://ntlib.chat.ru/ware/tables/scan.htmで。 それは少しうまく構成されていません-いわゆる拡張キー(これらはE0に等しいテーブルの2番目のバイトを持つものです)は1に等しい余分な数字を追加することによってそこに示されます、つまり、からスキャンコードを選択することによってHEX列、たとえば11C(キー テンキー)、1CE0として書き直す必要があります。 正式 フルセット電源キーを含む(ただし、追加のメディアキーを除く)スキャンコードは、MicrosoftのWebサイトからダウンロードできます。 ドキュメントへのリンクは非常に長いので、microsoft.comでの検索に「キーボードスキャンコードの仕様」という単語を入力するだけで、英語ではありますが、探しているものが得られます。 このドキュメントを検討する際、対象となるのは1セットのコード(スキャンコードセット1)のみであることに注意してください。

もちろん、そのような数字の文字列は事前に準備し、レジスタに入力する前にすべてのペアを注意深く再カウントする必要があります。 しかし、入力すると、間違いをしないようにするのに役立つことがわかります。 値を入力する 2進数手動で実行されますが(図12.11)、このエディターの外観は異常ですが、操作が非常に便利であることがすぐにわかります。 特に、入力されたペアを数えるときに問題はありません。それらは、1行あたり8つに自動的にグループ化されます。 パラメータ値の最終設定後、忘れずにパソコンを再起動してください。


米。 12.11。 バイナリパラメータ値の入力

キャンセルするだけでなく、再割り当てする場合も、録音を少し複雑にする必要があります。無効にするキーのコードを含む4つのゼロの最初の2つのペアを、あなたの意見では必要なコードに置き換えます。仕事。 たとえば、スキャンコードマップの値は

00 00 00 00 00 00 00 00

03 00 00 00 00 00 5C E0

1D E0 5D E0 00 00 00 00

そのようになります 右キーチェックボックスを使用すると、Windowsがオフになり、 権利を複製します 、つまり、それに最も近いキーです。 図に例として示されているのは、このスキャンコードマップ値です。 12.11。

対処方法をお見せしましょう ..。 実験によると、すべてが明確であるとは限りません。特に、単純なシャットダウンを試みても結果が得られない場合があります。 ただし、スキャンコードマップパラメータの値を指定します。これにより、無効になることが保証されます。 -その機能は機能に変わります (そうですが、実際には問題ではありません)、そして ここでは、前と同じように、権利を複製します :

00 00 00 00 00 00 00 00

03 00 00 00 1D E0 5D E0

2A 00 3A 00 00 00 00 00

ファイルkey.regは、レジストリフォルダー内の提供されたディスクにあります。このファイルを実行して、レジストリに本当に変更を加えることを確認すると、この値のスキャンコードマップパラメーターが自動的に作成されます。 何にも触れたくない場合 次に、この値を次のように編集します。03を02に置き換え、2行目のゼロ以外の4バイトをゼロに置き換えます。

これらの実験の結果として致命的な事態が発生することはありません。間違えたり、すべてをそのままにしておくことにした場合は、レジストリからスキャンコードマップパラメータを削除して、コンピュータを再起動してください。 または、復元ポイントを使用してシステムを元の状態に戻します。

キーを無効にする メニューに入るとき

残念ながら、キーを処理します Windows用のシステム(メインメニューを呼び出す)として、修飾キーとしての機能を保持しながら、レジストリを介して機能しません-それは完全に押すことへの応答を停止します。 したがって、キーを扱っているので、レジストリとは関係ありませんが、同時に対処方法を示します。 この本には、同じ名前のプログラムが含まれているディスク上のAltSpyフォルダーが含まれています。 フォルダ全体(3つのファイルが含まれています)をハードドライブにコピーし、jsファイル(Javaスクリプト)を実行します。 毎回手で起動しないように、起動に含める必要があります(10.1.3項「起動」を参照)。 スクリプトを開始してから10秒後、AltSpyは通知領域に茶色のアイコンを作成します。このアイコンには、コンテキストメニュー項目である[閉じる]のみが表示されます。 AltSpyが起動時に最後になり、他のサービスをオーバーライドすることが保証されるように、一時停止が必要です。 その後 メインメニューの呼び出しを停止しますが、基本的な機能は保持されます。 同時に、メインメニューを呼び出す機能は消えません-この機能は引き続きキーによって実行されます 、しかし今では、それを誤って呼び出して、入力フォーカスを目的の要素から外すことがはるかに困難になっています。

ほとんどの場合、すでにお使いの携帯電話に デフォルトでインストールされます QRコードスキャナーで、最初のQRコードを簡単にスキャンできます。 これは非常に簡単です。 指示に従ってください。

1.携帯電話でQRコードリーダーを開きます。

2.スマートフォンの画面にはっきりと見えるようにデバイスをQRコードにかざします。

スマートフォンをQRコードに正しくかざすと、次のようになります。

  • 電話はコードを自動的にスキャンします。
  • 一部のコードスキャンアプリケーションでは、スマートフォンで写真を作成するためのボタンではなく、画像をクリックする必要があります。

3.必要に応じて、示されたボタンを押します。

素晴らしい! スマートフォンはコードを読み取り、指定されたリンクをたどりますが、これは必ずしもすぐには発生しません。 ほとんどのデバイスでは、これには数秒かかる場合があります。

いたるところにQRコードが表示され始めます。 それらは、教えること、知らせること、説明すること、そして他の多くのことに使われます。 それらを見つけてスキャンしてください! QRコードはあなたに多くの時間と労力を節約します。

AndroidでQRコードをスキャンする方法

次に、AndroidでQRコードスキャンアプリを使用する方法を紹介します。

簡単に:
1.開く プレイストア .
2.検索 QRコードリーダー .
3.を選択します QRコードリーダー(スキャン経由)。
4. []をクリックします インストール".
5.プログラムを開きます QRコードの読み取り.
7.カメラをQRコードに向けます。
8. []をクリックします わかった".

ステップ1..。 AndroidでPlayストアを開きます。これは、アプリまたはホーム画面のアイコンです。

ステップ2。 検索エンジンにQRコードリーダーを入力します。 QRコードリーダーアプリの一覧が表示されます。

  • この記事ではQRコードリーダーの使い方を説明していますが、好きなアプリを選ぶことができます。 ダウンロードする前に、アプリについて必ずお読みください。
  • 手順は、すべてのQRコードリーダーアプリで同じである必要があります。

ステップ3。Scanが開発したQRコードリーダーをクリックします。開発者の名前は、各アプリの下にリストされています。 Scanで作成されたアプリを見つけるには、ページを下にスクロールする必要がある場合があります。

ステップ4。[インストール]をクリックします。 Androidの情報にアクセスするための許可を求めるポップアップが表示されます。

ステップ5。「同意する」をクリックします。これで、QRコードリーダーがAndroidデバイスにインストールされます。

    • アプリケーションがダウンロードされると、[インストール]ボタンが[開く]に変わり、アプリケーションに新しいアイコンが表示されます。

ステップ6。QRコードリーダーを開きます。アプリのQRコードのようなアイコンです。 標準のカメラ画面のように見えるアプリケーションが開きます。

ステップ7。QRコードをカメラフレームに合わせます。ボタンを押す必要がないことを除けば、写真の撮り方と少し似ています。 バーコードスキャナーがコードを読み取ると、コード内のURLを含むポップアップが表示されます。


ステップ8。[OK]をクリックしてWebサイトを開きます。これにより、デフォルトのWebブラウザーが起動し、QRコードのURLに移動します。

次の典型的なPCデバイスは、一見複雑ではないように見えますが、研究者にとって厄介な場合がありますが、キーボードです。

一般的に、デバイスは単純です。 特に、PS / 2ポートに接続されている古いモデルではありません。 多数の実験データで示されているように、「キーボード」制御マイクロ回路はキーストロークをスキャンし、シリアルコードでポートに送信します。 この送信のクロック周波数は倍数です(圧倒的多数の場合)»6.3または10kHz。 著者はここ数年で2、3のコピーに出くわしましたが、そのクロック周波数は20kHzの領域でした。

すべてのキーボードは、いずれかのキーを押したままにすると、(一時停止した後)キーコード「adinfinitum」の送信を繰り返し始めます。 通常モードでは、これにより通常、コントローラーバッファオーバーフローが発生し、数秒後に誤動作します。 システム「スピーカー」-「きしむ音」の音声信号があります。 テストモード(最も一般的なモード)の本質は、バッファオーバーフローコマンドをブロックすることです。これにより、キーが押されたときに、選択した文字が「キーボード」ケーブルを介して無限に送信されるようになります。

いつものように、結果を正しく計算するには、コードパケットに一定のパルスの交代を作成する必要があります。 キーボードコードには、次の2つの組み合わせがあります。

10101010(55)キー "+; = "

タイプテーブルの01010101(АА)-該当なし

スキャンコードの一般的な表を表14.1に示します。

表14.1-キーボードスキャンコード

スキャンコード

スキャンコード

スキャンコード

スキャンコード

したがって、テストモードの実装中、たとえば「キーボード」ケーブルの「+」キーにウェイトがかかると、パルスパケットのシーケンスが無限になります。 この場合、パケット内のパルス繰り返し率(つまり、クロック周波数)は6.10または20 kHzに等しくなり、パケット繰り返し率ははるかに低くなります。 データ形式を図14.1に示します。

キーボードケーブルのデータ交換には、KBDataとKBSyncの2本の回線が使用されます。 スキャンコードを送信するとき、キーボードはKBDataラインのデータの次のビットを設定し、KBSyncラインの信号を「1」から「0」に転送することによって転送を確認します。

コントローラは、KBSyncラインで低レベルのデータを送受信できないことを通知できます。 残りの時間、送信するデータがない場合、両方のラインの信号レベルが高くなります。



上記のように、キーボードケーブルのPEMINスペクトルでは、クロック周波数が1 / 76.04・10 -6 = 13.15kHzの周波数成分が予想されます。 さらに、異なる(しかし複数の!)周期を持つ2つの位相シフト信号が存在するため、偶数周波数成分と奇数周波数成分の振幅は異なります。

ご想像のとおり、syncrodata行のPEMINは原則として有益ではありません。 しかし、あるPEMINを別のPEMINと区別することはまったく簡単ではありません。 1本のケーブル、信号は同期しています...

ほとんど唯一の方法は、パッケージ内の論理「1」の数が最小のスキャンコードを選択することです。 これらはキー「F3」とF9」(16進コードの03と01)です。 コード「00」は使用されません。

スキャンコード「F3」のオシログラムを以下に示します。


厳密に「エネルギーの観点から」、コード「=」とたとえばコード「F9」を使用してPEMINのすべての周波数成分を測定する場合、周波数成分のそれぞれでの受信機の読み取り値の差PEMINエネルギーの真の情報部分です。 さらに、これは最大の最大値です。 それを「オートマトン」に任せる方法がなければ、その作業は非常に困難で退屈です。 このような低周波数のPEMINの成分そのものを、問題なく検出することができます。 だからまた、違いは「キャッチ」...



SIの実践では、圧倒的多数のケースで、PEMINレベルを(何も減算せずに)測定し、セキュリティパラメータを計算するだけです。 それは可能であり、「余裕を持って」可能ですが、専門家は実際の状況を知る義務があります。

レビューの最後に、AT-およびPS / 2-キーボードコネクタの「ピン配置」。


受信機の「写真」はそれほど「クラシック」に見えませんが、それもかなり認識できます。 ここに例があります



スペクトルは、周波数の低下に伴う成分の振幅の増加を明確に示しています。

この周波数領域(数十kHz以上)での「キーボード」の測定機能もあります。 実際のところ、キーボードは通常の場所にあり、システムユニットからそれほど遠くない場所にあります。 また、SBの上部には、パルス電源ユニットがあります。これは、「E」コンポーネントと「H」コンポーネントの両方で最も強力なPEMINの電源です。 そんな演劇スポットライトの「光」のなかで、見るべきキーボードの鈍い「光」は特別な芸術です! そこで、以下の手法を提案します。 「クラウディア」をSBから可能な限り遠ざけます。 より良い-PS / 2延長コードで。 一種の2〜2.5メートル。

アンテナは、SB(受信機の帯域幅が10 kHzを超える信号-連続スペクトル)からできるだけ誘導されないように配置します。 そして今、そのように方向付けられた固定アンテナの近くで、「キーボード」とそのケーブルをねじり始めます(その逆ではありません!)。 そうすれば、キーボードのPEMIN信号を検出して、アナライザー画面のPEMINコンポーネントを自分の目で確認できる可能性が高くなります。

上記のすべては、PS / 2キーボードに適用されます。 しかし現在、それらはUSBキーボードに大規模に置き換えられています。

一般に、このインターフェースは、プリンターと組み合わせてある程度詳細に検討されてきました。 ただし、キーボードに関して何らかの「ターゲット指定」を与えることは不必要ではありません。

キーボードが厳密に低速で(つまり、実際にはUSB 1.0インターフェイスを介して)接続されている場合、USBインターフェイスのパッケージの構成を思い出してみましょう。

低速デバイスの最大DATAペイロードサイズは8バイトです。 つまり、これはまさにキーボードスキャンコードが必要とするものです。

USB回線の信号(特にデータ)を確認するのは、それほど簡単な作業ではないことがわかりました。 それにもかかわらず、これは、GENIUS KB-06XEモデルの典型的なUSB「キーボード」のケーブル、特に「データ+」ライン(ワイヤ)で明らかになったものです(図14.10)。


これらの2つのオシログラムは、不特定の(無秩序な)周期性で相互に変化し、信号の「画像」はキーボードの押されたキーに依存しません(またはまったく依存しません)。 パッケージ(フレーム)の「可変」部分の他の変更は検出できませんでした。

これらのパケットの繰り返し率は厳密に安定しており(図14.11)、それぞれの持続時間は(オシログラムで見られるように)約34±1μsです。


パケットは4msごとに続きます。 ただし、各パケットの終わりは常に「ジッター」であり、特に古典的な「ジッター」であることに注意してください。 したがって、スペクトル画像はややぼやけており、平均化が十分に長い場合にのみ鮮明になります。


さらに、パルス繰り返し周期と持続時間が異なるため、スペクトルは連続スペクトルと線スペクトルの特定の混合物の性質を持っていることを考慮に入れる必要があります。 それにもかかわらず、スペクトルのローブの性質は、パケットの無限のシーケンスに対して自然であり、平均パケット期間の「ローブ」が複数あるため、非常に明確に保持されます。 関数の「ゼロ」のみが、ジッタと個々のパルスの非一時的な繰り返し周期によって平滑化されます。 ただし、画像自体は非常に典型的です。 より細かい周波数分解能では、パケットの繰り返し率(250 Hz)により、スペクトルが「ライン」で分解され始めます(図14.13)。したがって、スキャンコードの実際の送信と最も単純で非同期で、オシログラムを表示します。 、データ転送を担当するフレーム(パケット)のセクションを特定して視覚化できませんでした。 それにもかかわらず、キーボードケーブルのPEMINはまだこのようであり、他にはないだろうと主張することができます。 どの周波数でそれを探すかは明らかであり、それが安定していることは明らかです(いずれの場合も、受信機の周波数分解能は0.3 kHzを超えています)。 そして、クロックとして計算でどの値を置き換えるかは明らかです(実験のパケットの最小パルス周期は1.322μsでした)。 これを測定するには、どのSIでも、少なくとも200MHzの帯域幅のオシロスコープを使用するのは簡単な作業です。 実際、テストモードは任意です。キー(任意)を押すことができ、何も押す必要はありません。 とにかく、パケットはインターフェースを介して送信されます。 そして、最初の概算として、それらは有益であると考えます(他の方法で証明されるまで)。

上記のオシログラムとスペクトルは、測定が実行されたのと同じコンピューターに接続されたAKIP-4108 / 2オシロスコープを使用して取得されました(注意が必要です-私たちによるPICOテクノロジーの開発の非常に機能的な繰り返しです。中国人より悪くはありません:))。

スペクトルは明らかに1MHzをはるかに超えています(オシロスコープはそれを許可しなくなり、アナライザを接続する意味がありませんでした)。 残りは、ランダムアンテナとしてのケーブルとそのシールドの程度によるものです。

USBインターフェースの他のモードでは、帯域幅が数GHzのオシロスコープが必要です。

連続スペクトルを正確に考慮し、同時に現在のNMIのフレームワーク内にとどまる方法は、別の会話であり、オープンディスカッションではありません...しかし、その後の出版物では、そこに戻る必要があります。行くところがありません。 私は「許可されている範囲内にとどまる」ように努めます...

  1. GooglePlayウィンドウの上部に検索バーがあります。 これが私たちが使用するものです。 アプリケーションの名前をアクティブにして書き込みます。 完全に入力する必要はありません。 スクリーンショットに示されているオブジェクトが検索結果に表示されたら、それをタップするだけです。
  1. プログラムのホームページにリダイレクトされます。 INSTALLという大きな緑色のボタンがあります。 クリックして。
  1. アプリケーションのダウンロードが終了するのを待っています。 「重さ」は5MB弱なので、処理にそれほど時間はかかりません。
  1. 準備。 自動インストールが終了したら、ここからプログラムを実行できます。
  1. また、起動ショートカットがホーム画面に表示されます(設定でアクティブ化されている場合)。

これでプログラムのインストールが完了し、プログラムの操作の概要に進むことができます。

以下のスクリーンショットでは、プログラミングインターフェイスを見ることができます。 ここでは、3つのメインタブに分かれています。 歯車の形で作られた設定アイコンもあります。 メインタブ「スキャン」には、4つの主要なツールが含まれています。

  • バーコードをスキャンします。 これはカメラを通して動作するQRスキャナーです。
  • 手動キー入力。 コードに関する手動データ入力の機能。
  • ファイルからデコードします。 ファイルからのデコード。 ここから、以前にダウンロードしたQRコードを開いて読むことができます。
  • URLからデコードします。 リンクによるスキャン。

下部には、便利な機能を備えていないボタンがいくつかあります。 あなたはそれらに注意を払うべきではありません。

プログラムの設定を考えてみましょう。 ここにはかなりの数があります。 画面にはさまざまな構成領域のスクリーンショットが表示されますが、最も興味深い点のいくつかを説明します。

たとえば、最初の画面で、プログラムのサウンドを有効または無効にできます。 振動フィードバックでも同じことができます。 メインメニューを経由せずに、スキャナーからプログラムをすぐに起動するときの動作モードを設定できます。 もう1つの重要な機能は、データをクリップボードに自動的にコピーすることです。

スキャンを開始してスキャナー自体を起動するとすぐに、プログラムは必要なシステムリソースへのアクセスを要求します。 当然、解決する必要があります。 スクリーンショットでマークされたボタンを押します。

次に、水平ストリップがQRに直接当たるように、スキャナーのフレームを照準します。 集中している間、手を振らないようにしてください。 通常のシャープネスがないとスキャンは失敗します。

暗い場所でのQRバーコードスキャナー操作用のバックライトがあります。

コードが認識されると、下のスクリーンショットに示されている情報が表示されます。

QRのスキャンに加えて、ここで作成することもできます。 これを行うには、3番目のタブに移動します。 スクリーンショットでマークを付けました。 暗号化できるすべてのデータ型がリストとして一覧表示されます。 以下がサポートされています。

  • 電話帳の連絡先;
  • 電話番号;
  • URL;
  • Eメール;
  • 付録;
  • 位置;
  • 任意のテキスト。
  • ブックマーク;
  • カレンダーイベント。

それはすべて次のようになります:

データ型を選択して設定したら、「エンコード」ボタンをクリックするだけです。 この場合、リンクを暗号化しました。

任意のテキストも暗号化してみましょう。 これを行うには、目的のアイテムを選択します。

指定されたフィールドにフレーズを入力し、「エンコード」ボタンを押します。

結果は素晴らしく見えます。 もう少し色を変えてみましょう。 これを目的としたボタンを押します。

パレットから目的の色合いを選択します。

そして、受け取ったQRを賞賛してください。

次のプログラムに移りましょう。このプログラムにも優れた機能があります。

QRDroidコードスキャナー

GooglePlayで見つけることができる別のアプリケーション。 また、GoogleWebサイトの直接リンクからダウンロードすることもできます。 今のところ、プログラム自体を検討します。

QR Droid CodeScannerの起動ショートカットは次のようになります。クリックしてください。

このアプリケーションは、前のアプリケーションとは異なり、ロシア語で作成されており、起動したらすぐに、「STARTINGWORK」と書かれたボタンをクリックする必要があります。

スキャナーはすぐに表示されますが、最初にその設定を見てみましょう。 右上にあるボタンをタップします。

メインメニューには、ユーザーを目的のセクションにリダイレクトする6つのタイルボタンが表示されます。 はい、どうぞ:

したがって、スキャナーを使用するには、メインメニューでスキャナーをアクティブにし、QRコードにカーソルを合わせて[読み取り]ボタンを押す必要があります。

ここでスタート画面が選択され、アドレスは コピーを予約ソフトウェアインターフェイスの言語が設定されます。

次に、スキャンエンジンを設定します。 独自のアルゴリズムの1つであるZapperまたはZXingが使用されます。 以下では、十字線を有効または無効にしたり、スキャン後に自動アクションを設定したり、ヒントの表示やクリップボードへのリンクのコピーを有効にしたりできます。

このセクションでは、サウンドトラックを設定したり、バイブレーションをオンまたはオフにしたりできます。 ログにアクションを記録するプロセスと スマートウォッチ AndroidWear。

その後、エクスポートまたはインポートできるようになります バックアップまたは日付を設定します。

匿名データの送信を許可する(無効にすることをお勧めします)、スキャン中に受信したセキュリティリンクの検証を有効にする、またはバッチスキャンを構成します。 ズームやハイライトなどの機能は以下から利用できます。

しかし、これで設定は終わりではありません。 上記の機能に加えて、次のものがあります。

  • 画面の向きを設定します。
  • フロントカメラで作業します。
  • リンクの解析;
  • お店のショー。
  • 拡張スリップ機能;
  • 一部の特殊文字の禁止。
  • WEBプレビューのアクティブ化。
  • 保存した画像を検索します。

設定の最後の画面には、位置の最大数の設定、カスタムCSVの構成、スマートウォッチの振とう、重複した位置の保存などの興味深い機能が含まれています。

QR Droid Code Scannerメニューの設定に加えて、「More」という項目があります。 その機能を考えてみましょう。

そのような可能性があります:

私たちのリストの最後の、しかしそれほど機能的ではないアプリケーションを考えてみてください。

NeoReader QR&バーコードスキャナー

このプログラムは、他のプログラムと同様に、次の方法でダウンロードしてインストールできます。 グーグルプレイまたは直接リンクによって。 これが行われると、あなたは彼女と直接仕事に行くことができます。

最初の起動時に、アクセス要求を満たす必要があります。 「許可」をクリックします。

次に、設定を含むウィンドウが表示されます。 ここでは、言語を選択し、国、性別、年齢を示すことができます。 以下の2つのチェックボックスを使用すると、プログラムによる地理データへのアクセスを有効または無効にできます。

実際にスキャンを開始できます。 カメラをQRコードに向けると、NeoReader QR&BarcodeScannerがその内容を自動的に認識します。

これらの3つのプログラムは誰にとっても十分だと思います。 あなたにとって最も便利なものを選択し、あなたの裁量でそれを使用してください。 中国のデバイスのいくつかの機能について説明します。

標準機能

一部のスマートフォンやタブレット(ブランドによって異なります)には、標準でQRコードをスキャンする機能があり、アプリケーションなしですべてを実行できます。 それらすべてをリストするのではなく、Xiaomiのモデルにのみ触れます。

まとめ

その結果、AndroidでQRコードをスキャンする方法を学びました。 違う方法..。 この記事がお役に立てば幸いです。 それでも質問がある場合は、コメントで質問してください。 私たちは皆を助けるように努めます。

これが起こらなくても、サイトのユーザーの何人かは、状況から抜け出し、良いアドバイスを与える方法を確実に教えてくれます。 あなたはただそれを生き返らせる必要があります。

ビデオ指導