トップページ > 記事閲覧
日本語入力機能で入力したときとメモ帳に入力したときとの差異
名前:ys 日時: 2023/05/14 13:33

Windows10、Microsoft IMEの環境で MakeKeyInput、DrawKeyInputStringで日本語入力をしたときの挙動がメモ帳に入力したときと違います 気になった点は以下です 1. 変換確定前の日本語入力時に「←」「→」キーを押してカーソル位置を変更するとカーソルが消える (カーソル自体は移動していてその後何か入力するか消去すると現れる) 2. 予測変換候補の一覧が表示されたときに最初に「↓」キーを押すと予測変換候補の1:が飛ばされて2:になる (例) 「ありが」と入力して予測変換候補の一覧が表示されて 1:ありがとう 2:ありがとうございます だった場合 文字入力時点ですでに1:が選択状態になっていて(入力は「ありが」のまま) 「↓」キーを押すと2:の「ありがとうございます」になる 3. 「↑」「↓」キーで予測変換候補の選択を変更すると予測変換候補の一覧が一瞬だけ表示されて消える(まれに消えないときもある) 期間は問わないのですかこれらは修正出来ますか?
メンテ

Page: 1 |

Re: 日本語入力機能で入力したときとメモ帳に入力したときとの差異 ( No.1 )
名前:管理人 日時:2023/05/15 01:23

> 1. > 変換確定前の日本語入力時に「←」「→」キーを押してカーソル位置を変更するとカーソルが消える > (カーソル自体は移動していてその後何か入力するか消去すると現れる) 修正しました > 2. > 予測変換候補の一覧が表示されたときに最初に「↓」キーを押すと予測変換候補の1:が飛ばされて2:になる こちらは原因不明です 予測変換候補の選択処理は IME側が行っていることなので、修正できそうもありません ( 何故メモ帳ではこの挙動にならないのか不明です ) > 3. > 「↑」「↓」キーで予測変換候補の選択を変更すると予測変換候補の一覧が一瞬だけ表示されて消える(まれに消えないときもある) 修正しました こちらに修正版をアップしましたので、よろしければお試しください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibVCTest.zip // Windows版 VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.zip // Windows版 BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 10.3 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.zip // Windows版 MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい)
メンテ
Re: 日本語入力機能で入力したときとメモ帳に入力したときとの差異 ( No.2 )
名前:ys 日時:2023/05/15 11:53

1.と3.の修正を確認しました 修正作業ありがとうございます 重ねてのお願いになってしまいすみません スペースキーを押した場合に変換確定前だとカーソル位置が表示上は常に先頭に固定されていて移動も不可になっているのですが 実際は初期位置が末尾で移動も可能です カーソルの表示位置を実際の位置に合わせてほしいです そして2.についてですが 3.を修正していただいたおかげで予測変換候補が見えるようになったので 原因不明とのことでしたらこのままでも構わないのですが少し気になったのでお尋ねします DXライブラリがIMEに介入することは出来ないのでしょうか? ・予測変換候補が表示されたかどうかを取得する関数 ・予測変換候補の1:の文字列を取得する関数 ・IMEより先に「↓」キーの入力を検知して無効化する関数 これらの関数があれば予測変換候補が表示されてから一度も「↓」キーを押していない場合のみ 「↓」キーの入力をDXライブラリが先に検知して「↓」キーの入力をキャンセル 代わりに予測変換候補の1:の文字列を取得して入力中文字列を書き換える という流れで疑似的に1:が飛ばされないように出来るような気がしたのですが..
メンテ
Re: 日本語入力機能で入力したときとメモ帳に入力したときとの差異 ( No.3 )
名前:管理人 日時:2023/05/17 00:32

> スペースキーを押した場合に変換確定前だとカーソル位置が表示上は常に先頭に固定されていて移動も不可になっているのですが > 実際は初期位置が末尾で移動も可能です > カーソルの表示位置を実際の位置に合わせてほしいです スペースキーを押して変換確定前の状態はこちらのスクリーンショットのように https://dxlib.xsrv.jp/temp/IMEScreenShot.png 変換後の文字列を選択している箇所が赤色に表示されますので、 カーソルが表示されていなくても何処が処理の対象であるかが分かるようになっています ( なので今回の変更を加えるまでは変換中はカーソルは非表示でした ) カーソルの位置は IME から取得できる座標をそのまま表示しているだけですので、 変換中に文字列の先頭の位置にカーソルがあるのはちょっと変な気がしますが、正しい位置となります > DXライブラリがIMEに介入することは出来ないのでしょうか? できるかもしれませんが、あまり細かい部分の挙動に手を加えると Windows のバージョンが変わった際や Microsoft IME 以外の Google IME など他の IME で正常な 動作をしなくなる等のリスクが発生するので、そのような変更は行いたくありません…
メンテ
Re: 日本語入力機能で入力したときとメモ帳に入力したときとの差異 ( No.4 )
名前:ys(解決済み) 日時:2023/05/17 13:52

なるほどリスクがあるのですね了解しました 重ねての質問にお付き合いいただきありがとうございました!
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存