問題タブ [keyboard-layout]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - SendInput() と英語以外の文字とキーボード レイアウト
英語以外の入力キーボード言語が Windows で使用されている場合、文字のキープレスをシミュレートするのに問題があります。
KEYEVENTF_UNICODE で SendInput() を呼び出してみました:
そして、これは実際に機能します (もちろん、私のコードでは、キーを押した後に KEYUP も行います)... GTK+ アプリを除きます (それが機能しない他のインスタンスがあるかもしれません)。
MSDNによると、KEYEVENTF_UNICODE が指定されている場合、SendInput は WM_KEYDOWN または WM_KEYUP メッセージを、wParam が VK_PACKET に等しいフォアグラウンド スレッドのメッセージ キューに送信します。GetMessage または PeekMessage がこのメッセージを取得すると、そのメッセージを TranslateMessage に渡すと、wScan によって最初に指定された Unicode 文字を含む WM_CHAR メッセージがポストされます。この Unicode 文字は、ANSI ウィンドウにポストされると、適切な ANSI 値に自動的に変換されます。
したがって、KEYEVENTF_UNICODE が渡されると、SendInput() の機能が異なると思います...通常ほど低レベルではありません。
私の人生では、SendInput() を取得して、ユーザーのキーボード言語に合わせて文字を適切に出力する他の方法を見つけることができません。たとえば、キーボード入力言語が「スウェーデン語」の場合、「@」を出力できず (代わりに引用符が出力されます)、ASCII 以外の文字を適切に出力できません。どちらか(アクセント文字など)。
前もって感謝します。
windows - Microsoft ローカリゼーション センターに接続する方法
Windows は、私の言語のキーボード レイアウトに無効なコードページを使用しています。Microsoft Windows ローカリゼーション センターに接続して、Windows に配置する正しいキーボード レイアウトを提供する方法があるかどうか疑問に思っています。
私はこれを Windows ブログ (コメント) で試し、知り合いの良い人に電子メールを送信しましたが、フィードバックはありませんでした。
私はまだ彼らと連絡を取り、問題を説明したいと思っています。
誰か良い場所やメールを知っていますか? 助けてください
何か助けはありますか?
c# - ユーザーのキーボード入力を変更できますか?
このキーボード フック コードを見つけました。目的のために少し変更しようとしています: http://blogs.msdn.com/toub/archive/2006/05/03/589423.aspx
概要として、ユーザーにキーを押して「E」と言ってもらい、キーボードがフォーカスされているアプリに別の文字「Z」を返すようにします。
変更した関連メソッドは次のようになります。
コンソールはこれを次のように正しく出力します。
ただし、フォーカス中のアプリは「Z」ではなく「E」と入力します。なんで?フックされたキーボード入力を「E」の代わりに「Z」を含むように変更しました。コンソールの行は、それが正しく変更されたことを示しています!
私が理解しているように、を呼び出すと、return CallNextHookEx(_hookID, nCode, wParam, lParam);
「これを今すぐ印刷」コマンドが開いているアプリに送信されます。それが機能する方法ではありませんか?必要な文字を入力できない原因はありますか? AutoHotkey のようなアプリが入力キーを受け取り、それをチェックして、別の文字を返すことは知っています。ここで同じことを行うにはどうすればよいですか?
ありがとう!
windows - プログラムによるキーボード レイアウトの変更
私は本当に迷惑な同僚になりたいと思っており、キーボードのキーをランダムに変更する小さなプログラムを書きたいと思っています。プログラムをサービスとして実行すると思います..
Windowsの実行中にレジストリを介してこれを永続的に実行できることはわかっています。
XPで可能ですか?ビスタ?ウィンドウズ7?
うまくいったらコードを投稿します。:)
unicode - 標準キーボード レイアウト
私はhttp://unicode.codeplex.comで FOSS プロジェクトに取り組んでいます。このプロジェクトでは、標準的なキーボード レイアウトに関する情報を収集しようとします。
私たちが知りたいのは、正確な言語の標準キーボード レイアウトについて言及している場所、ドキュメント、または ... があることです。
つまり、あなたがドイツ人、アメリカ人、アラブ人、または ... なら、あなたの国の標準的なキーボード配列は何ですか?
ご存知のように、各国にはあまりにも多くのレイアウトがありますが、(ほとんどの国では) 各国の標準組織がキーボードの標準レイアウトを提供しており、すべての人がそれを使用して文字の優雅さを防ぐ必要があります。
したがって、ドキュメントを知っている場合、またはあなたの国 (またはいくつかの国) の標準的なキーボード レイアウトを知っている場合は、これらの情報を記入してください。
国ごとに提供される各アイテムと、ここに属性の説明があります
- 国=国名
- KeyboardLayout = 標準キーボード レイアウトの名前
- standarddate = このレイアウトが標準化された日
- ライセンス= キーボード レイアウト ライセンスとは何ですか。わからない場合は空欄にしてください
- Producer = 標準的な組織の名前
- projectURL = プロジェクトが Web 上で利用可能であり、プロデューサーによって公開されている場合、それはどこにありますか? わからない場合は空欄にしてください
- 紹介者 = あなたのフルネーム
- RefererMail = あなたのメールアドレス
java - 入力キーを指定して近隣キーを検索するためのキーボード レイアウト ライブラリ (java を推奨)
US_ENGLISH 標準キーボードのキー入力が与えられた場合に隣接するキーを提供できるライブラリ (できれば Java) を知っている人はいますか?
たとえば、文字 'd' を入力すると、[w、e、r、s、f、x、c、v] という文字が返されます。
あるいは、グリッド操作 API も機能します (qwerty キーボード レイアウトでグリッドをインスタンス化し、それを使用して隣人を見つけることができます)。
注 1: 私は「文字」と「キー」という言葉を同義語として文字を参照するために使用しています。
注 2: 50 ほどの主キーを隣接キーにマップする方法をハードコーディングできることはわかっています。より良い解決策を探しています。
ありがとうございました。
iphone - iPhone UITextField キーボード スペース切り替えレイアウト
ユーザーが数字とスペースのみを入力できるようにしたい。keyboardType を設定しましたtextField.keyboardType = UIKeyboardTypeNumbersAndPunctuation;
が、ユーザーがスペースを押すと、キーボード レイアウトが文字に切り替わります。
したがって、ユーザーは各スペースの後に停止したい番号レイアウトに切り替える必要があります。shouldChangeCharactersInRange
textfield デリゲート メソッドまたは NumberPad Layoutによってスペースの入力を停止できることはわかっていますが、スペースを表示したいです。
これに対する回避策はありますか?
language-agnostic - プログラミングに理想的なキーボード配列
簡潔にするためにシンボルを多用するプログラミング言語、特に C や C++ (APL には触れません) は、シフト キーを頻繁に使用する必要があるため、入力が難しいという不満をよく耳にします。1 年か 2 年ほど前に、私は自分でそれに飽きて、Microsoft のKeyboard Layout Creatorをダウンロードし、レイアウトにいくつかの変更を加えましたが、一度も振り返っていません。速度の違いは驚くべきものです。これらのいくつかの単純な変更により、C++ コードを約 30% 速く入力できます。何よりも、通常の実行中のテキストでのタイピング速度が損なわれることはありません。
私の質問は次のとおりです: 人気を博しているプログラミング用の代替キーボード レイアウトは何か、現在も使用されているものはありますか、変更されたレイアウトを個人的に使用していますか、私のレイアウトをさらに最適化するにはどうすればよいですか?
標準の QWERTY レイアウトに次の変更を加えました。(私はDvorakを使用しませんが、言及する価値のあるプログラマ Dvorakレイアウトがあります。)
- 長い数字や繰り返されるリテラル数字は通常、名前付き定数に置き換えられるため、数字を一番上の行の記号と交換します。
- 逆引用符は多くの言語ではまれですが、C++ ではデストラクタが一般的であるため、逆引用符をチルダに置き換えます。
- アンダースコアは識別子で一般的であるため、マイナスをアンダースコアと交換します。
- ブロックは下付き文字よりも一般的であるため、中括弧を角括弧と交換します。と
- 文字列は文字リテラルよりも一般的であるため、二重引用符を一重引用符に置き換えます。
これはおそらく最も物議を醸すものになると思います。これは、シフトを使用して一般的な短縮形を入力する必要があるため、テキストの実行に最も干渉するからです。このレイアウトにより、C++、C、Java、および Perl でのタイピング速度が大幅に向上し、LISP および Python でのタイピング速度がいくらか向上しました。
ubuntu - キーボードの最初の行にある数字の代わりに記号?
私は多くのプログラミングを行っていますが、最前列のシンボルではなく数字がデフォルトであることが気になります。別の方法を試してみたいと思います (そして、いいえ、Dvorak に切り替えたくありません)。それを行うためにEmacs(またはUbuntu全体)を構成する方法は?
CTRL+1 などの既存のショートカットを台無しにしたくないことに注意してください。
qt - Linux 用の Qt 組み込み。キーボード レイアウトの切り替え
Qt Embedded を使用してアプリケーションを開発しており、Linux フレームバッファで実行しています。米国以外の文字を入力する方法が必要です。Qtでキーボードレイアウトを変更することは可能ですか?
Qt/X11で実行してみました。レイアウトの切り替えと入力はまったく問題ありません。しかし、Qt/Embedded でコンパイルしてフレームバッファで実行すると、レイアウトを変更できません。
ドキュメントを検索しましたが、レイアウトの切り替えについては何も見つかりませんでした。
ドキュメントで指定されているように、qtキーボードドライバーと関係があると思います。独自のキーボード ドライバーを開発する必要があるようです。しかし、私は標準のキーボードを使用していますが、入力言語を変更する標準的な方法が必要だと思いますか?
何を提案しますか?
ところで、私は 4.5 バージョンを使用しています。4.6 にはこの問題を解決する何かがあるのでしょうか?
ここでまったく同じ問題:
http://lists.trolltech.com/pipermail/qt-embedded-interest/2008-August/000034.html
http://lists.trolltech.com/qt-interest/2004-02/msg00570.html