Q&A
pyautoguiを用いて「:」の入力をしたいです。
typewriteやpressを使用し文字入力をしています。「:」を入力しても「*」として出力されています。
正しく「:」として出力させるはどうしてらよろしいでしょうか?
よろしくお願い致します。
以下のような質問にはグッドを送りましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
下記のような質問は推奨されていません。
- 間違っている
- 質問になっていない投稿
- スパムや攻撃的な表現を用いた投稿
適切な質問に修正を依頼しましょう。
回答1件
1
ベストアンサー
Windows
環境で再現しました。
USキーボード以外で発生する既知の不具合のようです。
Some characters are not working with German layout keyboard #46
:
はShift
キー入力不要なのにもかかわらず、Shift
+:
キーが送信され*
が入力されるようです。
上記URLと同様の手法にてpyautoguiを直接修正することで、とりあえず回避はできました。
~\pyautogui_pyautogui_win.py
Python
1def _keyDown(key): 2 # 略 3 needsShift = pyautogui.isShiftCharacter(key) 4 5 # 以下を追加 6 if key == '@': needsShift = False 7 if key == '^': needsShift = False 8 if key == ':': needsShift = False 9 10 """ 11 # OLD CODE: The new code relies on having all keys be loaded in keyboardMapping from the start. 12 if key in keyboardMapping.keys(): 13 # 略
テストソース
Python
1import pyautogui 2 3s = r'!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' 4print(s) 5pyautogui.click(200, 200) # テキストエディタなどのウインドウ位置 6pyautogui.typewrite(s)
テキストエディタ画面の結果
!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
投稿2017/06/12 04:16
総合スコア36318
関連した質問
Q&A
解決済
vscodeでimportの下に赤線がでるバグ?
回答2
クリップ0
更新
2018/07/26
Q&A
解決済
python pyautogui 画像認識できない
回答1
クリップ0
更新
2020/06/02
Q&A
解決済
tkinterの処理順が理解できない
回答2
クリップ0
更新
2022/11/09
Q&A
解決済
OCR機能を用いて、画像内の対象文字列をクリックしたい
回答1
クリップ4
更新
2021/02/24
Q&A
解決済
Pyautoguiでの画像認識でエラー
回答1
クリップ0
更新
2021/03/04
Q&A
解決済
Python SeleniumでEdgeをIEモードで起動出来ません
回答2
クリップ0
更新
2021/08/10
Q&A
解決済
pythonでpyautoguiのエラーが出る
回答1
クリップ0
更新
2021/09/11
同じタグがついた質問を見る
Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。
良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2017/06/12 06:32