mirror of
https://github.com/google/mozc-devices.git
synced 2025-11-08 16:53:28 +03:00
Refresh CLI output by input.
Change-Id: I3257d418e3af3d668d17d2c16e1bd7ec9d2b01ea
This commit is contained in:
@@ -31,8 +31,10 @@ LED_CHASSIS.off()
|
|||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import os
|
import os
|
||||||
|
import unicodedata
|
||||||
from nazoru import get_default_graph_path
|
from nazoru import get_default_graph_path
|
||||||
from nazoru.core import create_keyboard_recorder, Bluetooth, NazoruPredictor
|
from nazoru.core import (
|
||||||
|
create_keyboard_recorder, Bluetooth, NazoruPredictor, clear_screen)
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
FLAGS = None
|
FLAGS = None
|
||||||
@@ -60,7 +62,7 @@ def main():
|
|||||||
LED_BLUE.blink(1)
|
LED_BLUE.blink(1)
|
||||||
LED_CHASSIS.set_brightness(5)
|
LED_CHASSIS.set_brightness(5)
|
||||||
|
|
||||||
print('Ready. Please input your scrrible.')
|
print('Ready. Please scrrible on your keyboard.')
|
||||||
while True:
|
while True:
|
||||||
data, command = recorder.record()
|
data, command = recorder.record()
|
||||||
if command is not None:
|
if command is not None:
|
||||||
@@ -86,13 +88,19 @@ def main():
|
|||||||
LED_RED.off()
|
LED_RED.off()
|
||||||
LED_CHASSIS.set_brightness(5)
|
LED_CHASSIS.set_brightness(5)
|
||||||
|
|
||||||
print('\n=== RESULTS ===')
|
clear_screen()
|
||||||
|
print('\n===== RESULTS =====')
|
||||||
for item in result:
|
for item in result:
|
||||||
print(u'%s (%s): %.5f' % (item[0], item[1], item[2]))
|
if unicodedata.east_asian_width(item[0]) in {'W', 'F'}:
|
||||||
print('===============\n')
|
surface = item[0]
|
||||||
|
else:
|
||||||
|
surface = item[0] + ' '
|
||||||
|
print(u'%s (%4s): %.5f' % (surface, item[1], item[2]))
|
||||||
|
print('===================\n')
|
||||||
|
|
||||||
most_likely_result = result[0]
|
most_likely_result = result[0]
|
||||||
print(u'%s (%s)' % (most_likely_result[0], most_likely_result[1]))
|
print(u'prediction: %s (%s)' % (
|
||||||
|
most_likely_result[0], most_likely_result[1]))
|
||||||
bt_connection.send(most_likely_result[1])
|
bt_connection.send(most_likely_result[1])
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|||||||
@@ -23,4 +23,4 @@ from .nazorunet import nazorunet
|
|||||||
from .nazorunet import Conv
|
from .nazorunet import Conv
|
||||||
from .nazorunet import DepthSepConv
|
from .nazorunet import DepthSepConv
|
||||||
from .predictor import NazoruPredictor
|
from .predictor import NazoruPredictor
|
||||||
|
from .utils import clear_screen
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import os
|
|||||||
import struct
|
import struct
|
||||||
import sys
|
import sys
|
||||||
import termios
|
import termios
|
||||||
|
from .utils import clear_screen
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import evdev
|
import evdev
|
||||||
@@ -130,10 +131,12 @@ class KeyboardRecorderFromConsole(KeyboardRecorder):
|
|||||||
if not recording:
|
if not recording:
|
||||||
recording = True
|
recording = True
|
||||||
start_time = datetime.datetime.now()
|
start_time = datetime.datetime.now()
|
||||||
|
clear_screen()
|
||||||
elapsed_time = now - start_time
|
elapsed_time = now - start_time
|
||||||
elapsed_ms = int(elapsed_time.total_seconds() * 1000)
|
elapsed_ms = int(elapsed_time.total_seconds() * 1000)
|
||||||
last_time = now
|
last_time = now
|
||||||
data.append((key, elapsed_ms))
|
data.append((key, elapsed_ms))
|
||||||
|
sys.stdout.write('%s\r' % (' '.join(datum[0] for datum in data)))
|
||||||
self.log(key, elapsed_ms)
|
self.log(key, elapsed_ms)
|
||||||
if last_time and (now - last_time).total_seconds() > wait_seconds:
|
if last_time and (now - last_time).total_seconds() > wait_seconds:
|
||||||
break
|
break
|
||||||
@@ -260,6 +263,8 @@ class KeyboardRecorderFromEvdev(KeyboardRecorder):
|
|||||||
start_time = now
|
start_time = now
|
||||||
elapsed_ms = int((now - start_time).total_seconds() * 1000)
|
elapsed_ms = int((now - start_time).total_seconds() * 1000)
|
||||||
data.append((self.KEYS[event.code], elapsed_ms))
|
data.append((self.KEYS[event.code], elapsed_ms))
|
||||||
|
clear_screen()
|
||||||
|
sys.stdout.write('%s\r' % (' '.join(datum[0] for datum in data)))
|
||||||
return (data, None)
|
return (data, None)
|
||||||
|
|
||||||
InputSource = Enum('InputSource', 'EVDEV CONSOLE')
|
InputSource = Enum('InputSource', 'EVDEV CONSOLE')
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
import time
|
import time
|
||||||
|
import sys
|
||||||
|
|
||||||
class Measure():
|
class Measure():
|
||||||
def __init__(self, tag):
|
def __init__(self, tag):
|
||||||
@@ -26,3 +27,8 @@ class Measure():
|
|||||||
def __exit__(self, type, value, traceback):
|
def __exit__(self, type, value, traceback):
|
||||||
now = time.time()
|
now = time.time()
|
||||||
print('[{0}] {1} ms'.format(self._tag, (now - self._start)*1E3))
|
print('[{0}] {1} ms'.format(self._tag, (now - self._start)*1E3))
|
||||||
|
|
||||||
|
def clear_screen():
|
||||||
|
sys.stdout.write('\033[2J')
|
||||||
|
sys.stdout.write('\033[H')
|
||||||
|
sys.stdout.flush()
|
||||||
|
|||||||
Reference in New Issue
Block a user