teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2018/04/20 06:16

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,2 +1,35 @@
1
1
  pynputは使ったことがないので勘ですが、key.charがリストでないのでは?
2
- `Key_operation.r+=key.char`ではなく`Key_operation.r.append(key.char)`ならどうでしょう。
2
+ `Key_operation.r+=key.char`ではなく`Key_operation.r.append(key.char)`ならどうでしょう。
3
+
4
+ ---
5
+ > そもそも、実行できてませんでした。
6
+ 原因は何でしょうか?
7
+
8
+ ご提示の[公式サイト](https://pypi.org/project/pynput/)のサンプルを改造すればいいのでは。
9
+ インターフェースに変更があったんじゃないかと推察します。
10
+ ```Python
11
+ from pynput.keyboard import Key, Listener
12
+
13
+ pressed_keys = []
14
+
15
+ def on_press(key):
16
+ try:
17
+ pressed_keys.append(key.char)
18
+ except AttributeError:
19
+ print(key)
20
+
21
+ def on_release(key):
22
+ if key == Key.esc:
23
+ return False
24
+
25
+ kwargs = {
26
+ 'on_press': on_press,
27
+ 'on_release': on_release
28
+ }
29
+ with Listener(**kwargs) as listener:
30
+ listener.join()
31
+
32
+ print(pressed_keys)
33
+ ```
34
+
35
+ Windows10で動作を確認しました。