mirror of https://github.com/kivy/kivy.git
add uxl app with button
This commit is contained in:
parent
7def1325f9
commit
a8f4e8234a
|
@ -0,0 +1,100 @@
|
|||
from kivy.app import App
|
||||
from kivy.clock import Clock
|
||||
from kivy.uxl import UxlBuilder
|
||||
from threading import Thread
|
||||
from collections import deque
|
||||
from subprocess import Popen, PIPE
|
||||
|
||||
content = '''
|
||||
Widget:
|
||||
canvas:
|
||||
Color:
|
||||
rgb: (1, 0, 1)
|
||||
Rectangle:
|
||||
pos: self.pos
|
||||
Rectangle:
|
||||
pos: self.pos
|
||||
Rectangle:
|
||||
pos: self.pos
|
||||
Rectangle:
|
||||
pos: self.pos
|
||||
Rectangle:
|
||||
pos: self.pos
|
||||
Rectangle:
|
||||
pos: self.pos
|
||||
Rectangle:
|
||||
pos: self.pos
|
||||
Rectangle:
|
||||
pos: self.pos
|
||||
Rectangle:
|
||||
pos: self.pos
|
||||
Rectangle:
|
||||
pos: self.pos
|
||||
Rectangle:
|
||||
pos: self.pos
|
||||
Rectangle:
|
||||
pos: self.pos
|
||||
Rectangle:
|
||||
pos: self.pos
|
||||
Rectangle:
|
||||
pos: self.pos
|
||||
Rectangle:
|
||||
pos: self.pos
|
||||
Rectangle:
|
||||
pos: self.pos
|
||||
Rectangle:
|
||||
pos: self.pos
|
||||
Rectangle:
|
||||
pos: self.pos
|
||||
Rectangle:
|
||||
pos: self.pos
|
||||
Rectangle:
|
||||
pos: self.pos
|
||||
Rectangle:
|
||||
pos: self.pos
|
||||
Rectangle:
|
||||
pos: self.pos
|
||||
Rectangle:
|
||||
pos: self.pos
|
||||
Rectangle:
|
||||
pos: self.pos
|
||||
'''
|
||||
|
||||
class AcceleratorApp(App):
|
||||
def build(self):
|
||||
root = UxlBuilder(content=content).root
|
||||
self.queue = deque()
|
||||
self.thread = Thread(target=self.read_accelerometer, args=(self.queue, ))
|
||||
self.thread.daemon = True
|
||||
self.thread.start()
|
||||
Clock.schedule_interval(self.pop_deque, 0)
|
||||
return root
|
||||
|
||||
def pop_deque(self, *largs):
|
||||
print '=========+++++FPS+++++=============', Clock.get_fps()
|
||||
try:
|
||||
while True:
|
||||
axis, value = self.queue.pop()
|
||||
if axis == 'X':
|
||||
self.root.x = value
|
||||
if axis == 'Y':
|
||||
self.root.y = value
|
||||
except IndexError:
|
||||
return
|
||||
|
||||
def read_accelerometer(self, q):
|
||||
process = Popen('sudo evtest /dev/input/event7', shell=True,
|
||||
stdout=PIPE)
|
||||
while True:
|
||||
line = process.stdout.readline()
|
||||
line = line.split(' ')
|
||||
if len(line) != 11:
|
||||
continue
|
||||
if line[0] != 'Event:':
|
||||
continue
|
||||
axis = line[8]
|
||||
value = int(line[10].strip('\n'))
|
||||
q.appendleft((axis[1], value))
|
||||
|
||||
|
||||
AcceleratorApp().run()
|
Loading…
Reference in New Issue