W10IoT&RPI3 – obsługa klawiatury i myszy w UWA

Na razie przyjąłem założenia, że będę sterował swoją platformą mobilną za pomocą klawiatury, oraz ewentualnie myszy. Tak więc na przyszłe potrzeby napisałem template do obsługi urządzeń wejściowych. Templatki są banalne, ale mam nadzieję że komuś się przydadzą. Można znaleźć je pod tymi linkami:

Zdjęcie w nagłówku to printscreen z tej rozszerzonej wersji programu.

Kod wersji prostej jest tak krótki, że nawet wkleję go tutaj 😉

MainPage.xaml.cs :

using System;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Input;
using Windows.UI.Core;

namespace InputKeyboardMouseBasic
{
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
            Window.Current.CoreWindow.Dispatcher.AcceleratorKeyActivated += AcceleratorKeyActivated;
            GridMain.PointerMoved += new PointerEventHandler(Pointer_Moved);
        }

        private void AcceleratorKeyActivated(CoreDispatcher sender, AcceleratorKeyEventArgs args)
        {
            if (args.EventType.ToString().Contains("Down"))
            {
                spKeyboard.Children.Insert(0, (new TextBlock()
                {
                    Text = Convert.ToString($"Pressed {args.VirtualKey} at " + DateTime.Now.ToString("h:mm:ss.fff"))
                }));
            }
        }

        void Pointer_Moved(object sender, PointerRoutedEventArgs e)
        {
            Windows.UI.Input.PointerPoint currentPoint = e.GetCurrentPoint(GridMain);
            spMouse.Children.Insert(0, (new TextBlock()
            {
                Text = Convert.ToString($"Cursor on X={Math.Round(currentPoint.Position.X, 0)} Y={Math.Round(currentPoint.Position.Y, 0)} at " + DateTime.Now.ToString("h:mm:ss.fff"))
            }));
        }

    }
}

MainPage.xaml :

<Page     x:Class="InputKeyboardMouseBasic.MainPage"     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"     xmlns:local="using:InputKeyboardMouseBasic"     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"     mc:Ignorable="d">

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" Name="GridMain" >
        <StackPanel Orientation="Horizontal">
            <StackPanel Width="300">
                <TextBlock  Text="Mouse" HorizontalAlignment="Center"/>
                <StackPanel Name="spMouse" VerticalAlignment="Bottom"/>
            </StackPanel>

            <StackPanel Width="300">
                <TextBlock  Text="Keyboard" HorizontalAlignment="Center"/>
                <StackPanel Name="spKeyboard" VerticalAlignment="Bottom"/>
            </StackPanel>
        </StackPanel>
    </Grid>
</Page>

Jako że nie mam zamiaru podczas testów latać z klawiaturą za robotem, to poszedłem do sklepu poszukać jakiejś klawiatury bezprzewodowej. No i udało mi się ciekawa ofertę wyhaczyć 😉 Bezprzewodową klawiaturę multimedialną z wbudowanym trackaballem kupiłem za 60 zł (bo pudełko było pogniecione, nikt tego nie chciał, więc obniżka spora była) 😀

hama_enter.jpg
Jest to model hama entertainment przeznaczony głównie do telewizorów Smart TV. W sumie to dokładnie czegoś takiego szukałem.

Jeżeli chodzi o wygodę pisania to jest bardzo słabo. Chyba że powinienem się do tego przyzwyczaić. Ale widać że to nie jest klawiatura do kodowania, bo tabulator jest najchudszym klawiszem, a nawiasy są przy spacji (na zdjęciu powyżej jest klawiatura w innej wersji językowej, w tej mojej klawisze {} są od razu po prawej stronie spacji), chociaż z drugiej strony jest to dosyć ciekawe rozwiązanie. Co do trackballa to również nie mam jeszcze ostatecznego zdania, ale nie jest źle.

Podsumowując nie jest to klawiatura do codziennej pracy, ale do robota na Raspberry pasuje idealnie. W sumie Spotify z klawiszy multimedialnych ok się steruje, YouTube również 😀

Reklamy

Jeden komentarz na temat “W10IoT&RPI3 – obsługa klawiatury i myszy w UWA”

  1. Pingback: dotnetomaniak.pl

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj /  Zmień )

Zdjęcie na Google+

Komentujesz korzystając z konta Google+. Wyloguj /  Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj /  Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj /  Zmień )

Connecting to %s