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="" '">
<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="&|">
<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="<>">
<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 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 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 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 件のコメント :
コメントを投稿