#!/usr/bin/env python
# coding: utf
'''
Простой пример использования pyginput
'''

import pygame
from pyginput import Input

size = 760, 540

pygame.init()
scr=pygame.display.set_mode(size)

# создадим поле ввода
inp=Input("Input a color code as #RRGGBB","#FFAAFF")
color=pygame.Color("blue")
n=0
while True:
    ev=pygame.event.wait()
    if ev.type is pygame.QUIT:
        break
    # нарисуем что-нибудь отвлекающее :)
    if ev.type is pygame.MOUSEMOTION:
        pygame.draw.circle(scr, color, ev.pos, 3)
    # нажата кновка на клавиатуре
    elif ev.type is pygame.KEYDOWN:
        # Кнопку обрабатывает окно ввода, если оно активно
        if inp.is_active():
            inp.edit(ev)
            n=0
        # А если неактивно, покажем его
        else:
            inp.activate()
    # Пользователь долго не вводил цвет, пусть введёт
    if n>100:
        inp.activate()
    # Ввод окончен
    if inp.is_done():
        # …и успешен
        if inp.is_success():
            color=pygame.Color(inp.value())
        inp.deactivate()
    # здесь можно что-то нарисовать на экране
    # если поле активно, покажем его непосредственно перед перерисовкой экрана…
    if inp.is_active(): inp.draw(scr,(100,100))
    pygame.display.flip()
    # …а потом тут же уберём (восстановится то, что было под полем ввода)
    if inp.is_active(): inp.undraw()
    n+=1
