annotate service/bluetoothButtons/bluetooth_buttons.py @ 1406:b2e9cd28d202

loftdesk config Ignore-this: 2bee427b1909e6c60603f03d6ad69087 darcs-hash:83fc6c1754be4b34f14fbd6293b8d9cc40b6b40c
author drewp <drewp@bigasterisk.com>
date Tue, 23 Jul 2019 10:29:20 -0700
parents 80397afd5b52
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1281
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
1 import hidraw
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
2 import os
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
3 import requests
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
4 import json
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
5
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
6 fileno = os.open('/dev/hidraw0', os.O_RDWR)
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
7 h = hidraw.HIDRaw(fileno)
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
8
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
9 keys = {
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
10 b'\x02\xb6\x00': 'left',
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
11 b'\x02\xe9\x00': 'top',
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
12 b'\x02\xb5\x00': 'right',
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
13 b'\x02\xcd\x00': 'middle',
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
14 }
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
15
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
16 while True:
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
17 buf = os.read(fileno, 16)
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
18 print('got %r' % buf)
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
19 addr = h.getPhysicalAddress().decode('ascii')
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
20
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
21 if buf in keys:
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
22 msg = {'addr': addr, 'key': keys[buf]}
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
23 print(msg)
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
24 requests.post('http://bang6:10011/bluetoothButton',
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
25 data=json.dumps(msg))
80397afd5b52 read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff changeset
26 # to use port 10014