2016/11/23

同梱スキン - コンパクト.xaml


TypeKeys指定サンプル
デザインセンスがないので残念な出来ですが キー数が少ない特別な用途向け(1列だけとか特定アプリ専用等)のベースに使えるかもしれません



<!--  zeKey skinfile  https://ze-key.blogspot.jp/  -->
<z:Keyboard xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:z="clr-namespace:zeKey.Skin;assembly=zeKey"
            Width="600"
            Height="300"
            z:DragMoveBehavior.CanMove="True">
  <z:Keyboard.SkinInfo>
    <z:SkinInfo Title="コンパクトキーボード(オリジナル配置)"
                Author="T.Naga"
                License="改変自由"
                Version="1.0.0">
      <z:SkinInfo.Information>
        <TextBlock TextWrapping="Wrap">
          コンパクトさ優先で最低限必要と思われるものを入れました
          <LineBreak />
          <LineBreak />
          アルファベットキーと矢印キーは 右クリックで[Shift]同時押し
          <LineBreak />
          2つ表記があるキーは 左右クリックに割り当て
          <LineBreak />
          <LineBreak />
          詳しい説明は
          <z:Hyperlink NavigateUri="https://ze-key.blogspot.jp/">ブログ</z:Hyperlink>
          を参照してください
        </TextBlock>
      </z:SkinInfo.Information>
    </z:SkinInfo>
  </z:Keyboard.SkinInfo>
  <z:Keyboard.Resources>
    <SolidColorBrush x:Key="キー 押し込み" Color="Red" />
    <SolidColorBrush x:Key="キー 背景" Color="White" />
    <SolidColorBrush x:Key="キー 枠" Color="Black" />
    <SolidColorBrush x:Key="キーボード 背景" Color="#8FFF" />
    <SolidColorBrush x:Key="キーボード 枠" Color="Black" />
    <SolidColorBrush x:Key="キーボード 枠IMEオン" Color="Red" />
    <SolidColorBrush x:Key="文字" Color="Black" />
    <Style TargetType="{x:Type z:LRRepeatButton}">
      <Setter Property="Foreground" Value="{DynamicResource 文字}" />
      <Setter Property="Background" Value="{DynamicResource キー 背景}" />
      <Setter Property="BorderBrush" Value="{DynamicResource キー 枠}" />
      <Style.Triggers>
        <Trigger Property="IsPressed" Value="True">
          <Setter Property="Background" Value="{DynamicResource キー 押し込み}" />
        </Trigger>
      </Style.Triggers>
    </Style>
  </z:Keyboard.Resources>
  <Grid>
    <Border Background="{DynamicResource キーボード 背景}"
            BorderThickness="2"
            CornerRadius="10">
      <Border.Style>
        <Style TargetType="{x:Type Border}">
          <Setter Property="BorderBrush" Value="{DynamicResource キーボード 枠}" />
          <Style.Triggers>
            <DataTrigger Binding="{Binding ModeKeys.ImeLock}" Value="true">
              <Setter Property="BorderBrush" Value="{DynamicResource キーボード 枠IMEオン}" />
            </DataTrigger>
          </Style.Triggers>
        </Style>
      </Border.Style>
      <Grid Margin="10,20,10,10">
        <Grid.RowDefinitions>
          <RowDefinition />
          <RowDefinition />
          <RowDefinition />
          <RowDefinition />
          <RowDefinition />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
          <ColumnDefinition />
          <ColumnDefinition />
          <ColumnDefinition />
          <ColumnDefinition />
          <ColumnDefinition />
          <ColumnDefinition />
          <ColumnDefinition />
          <ColumnDefinition />
          <ColumnDefinition />
          <ColumnDefinition />
          <ColumnDefinition />
          <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <z:LRRepeatButton Content="!?">
          <z:LRRepeatButton.LeftTypeKeys>
            <z:TypeKeys TypeKey="Shift">
              <z:TypeKeys TypeKey="D1" />
            </z:TypeKeys>
          </z:LRRepeatButton.LeftTypeKeys>
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="Shift">
              <z:TypeKeys TypeKey="OemQuestion" />
            </z:TypeKeys>
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Column="1" Content="&quot; '">
          <z:LRRepeatButton.LeftTypeKeys>
            <z:TypeKeys TypeKey="Shift">
              <z:TypeKeys TypeKey="D2" />
            </z:TypeKeys>
          </z:LRRepeatButton.LeftTypeKeys>
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="Shift">
              <z:TypeKeys TypeKey="D7" />
            </z:TypeKeys>
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Column="2" Content="&amp;|">
          <z:LRRepeatButton.LeftTypeKeys>
            <z:TypeKeys TypeKey="Shift">
              <z:TypeKeys TypeKey="D6" />
            </z:TypeKeys>
          </z:LRRepeatButton.LeftTypeKeys>
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="Shift">
              <z:TypeKeys TypeKey="Oem5" />
            </z:TypeKeys>
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Column="3" Content="()">
          <z:LRRepeatButton.LeftTypeKeys>
            <z:TypeKeys TypeKey="Shift">
              <z:TypeKeys TypeKey="D8" />
            </z:TypeKeys>
          </z:LRRepeatButton.LeftTypeKeys>
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="Shift">
              <z:TypeKeys TypeKey="D9" />
            </z:TypeKeys>
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Column="4"
                          Content="[]"
                          TypeKey="OemOpenBrackets">
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="OemCloseBrackets" />
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Column="5" Content="{}{}">
          <z:LRRepeatButton.LeftTypeKeys>
            <z:TypeKeys TypeKey="Shift">
              <z:TypeKeys TypeKey="OemOpenBrackets" />
            </z:TypeKeys>
          </z:LRRepeatButton.LeftTypeKeys>
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="Shift">
              <z:TypeKeys TypeKey="OemCloseBrackets" />
            </z:TypeKeys>
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Column="6" Content="&lt;&gt;">
          <z:LRRepeatButton.LeftTypeKeys>
            <z:TypeKeys TypeKey="Shift">
              <z:TypeKeys TypeKey="OemComma" />
            </z:TypeKeys>
          </z:LRRepeatButton.LeftTypeKeys>
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="Shift">
              <z:TypeKeys TypeKey="OemPeriod" />
            </z:TypeKeys>
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Column="7" Content=";:">
          <z:LRRepeatButton.LeftTypeKeys>
            <z:TypeKeys TypeKey="OemPlus" />
          </z:LRRepeatButton.LeftTypeKeys>
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="Oem1" />
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Column="8"
                          Content="-_"
                          TypeKey="OemMinus">
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="Shift">
              <z:TypeKeys TypeKey="OemBackslash" />
            </z:TypeKeys>
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Column="9"
                          Content="7#"
                          TypeKey="D7">
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="Shift">
              <z:TypeKeys TypeKey="D3" />
            </z:TypeKeys>
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Column="10"
                          Content="8$"
                          TypeKey="D8">
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="Shift">
              <z:TypeKeys TypeKey="D4" />
            </z:TypeKeys>
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Column="11"
                          Content="9%"
                          TypeKey="D9">
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="Shift">
              <z:TypeKeys TypeKey="D5" />
            </z:TypeKeys>
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Row="1"
                          Content="w"
                          TypeKey="w" />
        <z:LRRepeatButton Grid.Row="1"
                          Grid.Column="1"
                          Content="e"
                          TypeKey="e" />
        <z:LRRepeatButton Grid.Row="1"
                          Grid.Column="2"
                          Content="r"
                          TypeKey="r" />
        <z:LRRepeatButton Grid.Row="1"
                          Grid.Column="3"
                          Content="t"
                          TypeKey="t" />
        <z:LRRepeatButton Grid.Row="1"
                          Grid.Column="4"
                          Content="y"
                          TypeKey="y" />
        <z:LRRepeatButton Grid.Row="1"
                          Grid.Column="5"
                          Content="u"
                          TypeKey="u" />
        <z:LRRepeatButton Grid.Row="1"
                          Grid.Column="6"
                          Content="i"
                          TypeKey="i" />
        <z:LRRepeatButton Grid.Row="1"
                          Grid.Column="7"
                          Content="o"
                          TypeKey="o" />
        <z:LRRepeatButton Grid.Row="1"
                          Grid.Column="8"
                          Content="p"
                          TypeKey="p" />
        <z:LRRepeatButton Grid.Row="1"
                          Grid.Column="9"
                          Content="4@"
                          TypeKey="D4">
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="Oem3" />
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Row="1"
                          Grid.Column="10"
                          Content="5^"
                          TypeKey="D5">
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="OemQuotes" />
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Row="1"
                          Grid.Column="11"
                          Content="6~"
                          TypeKey="D6">
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="Shift">
              <z:TypeKeys TypeKey="OemQuotes" />
            </z:TypeKeys>
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Row="2"
                          Content="a"
                          TypeKey="a" />
        <z:LRRepeatButton Grid.Row="2"
                          Grid.Column="1"
                          Content="s"
                          TypeKey="s" />
        <z:LRRepeatButton Grid.Row="2"
                          Grid.Column="2"
                          Content="d"
                          TypeKey="d" />
        <z:LRRepeatButton Grid.Row="2"
                          Grid.Column="3"
                          Content="f"
                          TypeKey="f" />
        <z:LRRepeatButton Grid.Row="2"
                          Grid.Column="4"
                          Content="g"
                          TypeKey="g" />
        <z:LRRepeatButton Grid.Row="2"
                          Grid.Column="5"
                          Content="h"
                          TypeKey="h" />
        <z:LRRepeatButton Grid.Row="2"
                          Grid.Column="6"
                          Content="j"
                          TypeKey="j" />
        <z:LRRepeatButton Grid.Row="2"
                          Grid.Column="7"
                          Content="k"
                          TypeKey="k" />
        <z:LRRepeatButton Grid.Row="2"
                          Grid.Column="8"
                          Content="l"
                          TypeKey="l" />
        <z:LRRepeatButton Grid.Row="2"
                          Grid.Column="9"
                          Content="1\"
                          TypeKey="D1">
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="OemBackslash" />
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Row="2"
                          Grid.Column="10"
                          Content="2`"
                          TypeKey="D2">
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="Shift">
              <z:TypeKeys TypeKey="Oem3" />
            </z:TypeKeys>
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Row="2"
                          Grid.Column="11"
                          Content="3/"
                          TypeKey="D3">
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="OemQuestion" />
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Row="3"
                          Content="q"
                          TypeKey="q" />
        <z:LRRepeatButton Grid.Row="3"
                          Grid.Column="1"
                          Content="z"
                          TypeKey="z" />
        <z:LRRepeatButton Grid.Row="3"
                          Grid.Column="2"
                          Content="x"
                          TypeKey="x" />
        <z:LRRepeatButton Grid.Row="3"
                          Grid.Column="3"
                          Content="c"
                          TypeKey="c" />
        <z:LRRepeatButton Grid.Row="3"
                          Grid.Column="4"
                          Content="v"
                          TypeKey="v" />
        <z:LRRepeatButton Grid.Row="3"
                          Grid.Column="5"
                          Content="b"
                          TypeKey="b" />
        <z:LRRepeatButton Grid.Row="3"
                          Grid.Column="6"
                          Content="n"
                          TypeKey="n" />
        <z:LRRepeatButton Grid.Row="3"
                          Grid.Column="7"
                          Content="m"
                          TypeKey="m" />
        <z:LRRepeatButton Grid.Row="3"
                          Grid.Column="8"
                          Content=",."
                          TypeKey="OemComma">
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="OemPeriod" />
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Row="3"
                          Grid.Column="9"
                          Content="=+">
          <z:LRRepeatButton.LeftTypeKeys>
            <z:TypeKeys TypeKey="Shift">
              <z:TypeKeys TypeKey="OemMinus" />
            </z:TypeKeys>
          </z:LRRepeatButton.LeftTypeKeys>
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="Shift">
              <z:TypeKeys TypeKey="OemPlus" />
            </z:TypeKeys>
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Row="3"
                          Grid.Column="10"
                          Content="↑"
                          TypeKey="Up" />
        <z:LRRepeatButton Grid.Row="3"
                          Grid.Column="11"
                          Content="0*"
                          TypeKey="D0">
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="Shift">
              <z:TypeKeys TypeKey="Oem1" />
            </z:TypeKeys>
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Row="4"
                          Content="IME &#10;  ESC"
                          TypeKey="KanjiMode">
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="Esc" />
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Row="4"
                          Grid.Column="1"
                          Content="F6 &#10;  F7"
                          TypeKey="F6">
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="F7" />
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Row="4"
                          Grid.Column="2"
                          Content="F9&#10; F10"
                          TypeKey="F9">
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="F10" />
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Row="4"
                          Grid.Column="3"
                          Grid.ColumnSpan="2"
                          Content="SP TAB"
                          TypeKey="Space">
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="Tab" />
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Row="4"
                          Grid.Column="5"
                          Grid.ColumnSpan="2"
                          Content="Enter"
                          TypeKey="Return" />
        <z:LRRepeatButton Grid.Row="4"
                          Grid.Column="7"
                          Grid.ColumnSpan="2"
                          Content="BS DEL"
                          TypeKey="Backspace">
          <z:LRRepeatButton.RightTypeKeys>
            <z:TypeKeys TypeKey="Delete" />
          </z:LRRepeatButton.RightTypeKeys>
        </z:LRRepeatButton>
        <z:LRRepeatButton Grid.Row="4"
                          Grid.Column="9"
                          Content="←"
                          TypeKey="Left" />
        <z:LRRepeatButton Grid.Row="4"
                          Grid.Column="10"
                          Content="↓"
                          TypeKey="Down" />
        <z:LRRepeatButton Grid.Row="4"
                          Grid.Column="11"
                          Content="→"
                          TypeKey="Right" />
      </Grid>
    </Border>
    <z:ResizeGrip Background="#01FFFFFF" BorderThickness="0,0,2,2">
      <z:ResizeGrip.Style>
        <Style TargetType="z:ResizeGrip">
          <Setter Property="Foreground" Value="{DynamicResource キーボード 枠}" />
          <Setter Property="BorderBrush" Value="{DynamicResource キーボード 枠}" />
          <Style.Triggers>
            <DataTrigger Binding="{Binding ModeKeys.ImeLock}" Value="true">
              <Setter Property="BorderBrush" Value="{DynamicResource キーボード 枠IMEオン}" />
              <Setter Property="Foreground" Value="{DynamicResource キーボード 枠IMEオン}" />
            </DataTrigger>
          </Style.Triggers>
        </Style>
      </z:ResizeGrip.Style>
    </z:ResizeGrip>
  </Grid>
</z:Keyboard>

0 件のコメント :

コメントを投稿