2009年6月4日木曜日

.NET(Mobile) Touch Diamond (X04HT)のデフォルト10キーSIPの入力モードを切り替える

Touch Diamond (X04HT)のデフォルト10キーSIPの入力モードを切り替えるには
レジストリ「HKEY_CURRENT_USER\Software\Keytouch\Multiplay」の値を操作します。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
SetKey10InputMode(CType(Me.ComboBox1.SelectedIndex, Key10ModeType))
End Sub

Public Enum Key10ModeType
NumHalf = 0
NumFull = 1
AlphaHalf = 2
AlphaFull = 3
Hiragana = 4
KatakanaHalf = 5
KatakanaFull = 6
End Enum

Private Sub SetKey10InputMode(ByVal mode As Key10ModeType)
Dim sReg As String = "HKEY_CURRENT_USER\Software\Keytouch\Multiplay"

Select Case mode
Case Key10ModeType.NumHalf
Microsoft.Win32.Registry.SetValue(sReg, "ShiftModeEx", 9)
Microsoft.Win32.Registry.SetValue(sReg, "ShiftMode", 8)
Microsoft.Win32.Registry.SetValue(sReg, "ActiveIME", 1)
Microsoft.Win32.Registry.SetValue(sReg, "NumericMode", 0)
Microsoft.Win32.Registry.SetValue(sReg, "PasswordMode", 0)

Case Key10ModeType.NumFull
Microsoft.Win32.Registry.SetValue(sReg, "ShiftModeEx", 8)
Microsoft.Win32.Registry.SetValue(sReg, "ShiftMode", 7)
Microsoft.Win32.Registry.SetValue(sReg, "ActiveIME", 1)
Microsoft.Win32.Registry.SetValue(sReg, "NumericMode", 0)
Microsoft.Win32.Registry.SetValue(sReg, "PasswordMode", 0)

Case Key10ModeType.AlphaHalf
Microsoft.Win32.Registry.SetValue(sReg, "ShiftModeEx", 7)
Microsoft.Win32.Registry.SetValue(sReg, "ShiftMode", 6)
Microsoft.Win32.Registry.SetValue(sReg, "ActiveIME", 1)
Microsoft.Win32.Registry.SetValue(sReg, "NumericMode", 0)
Microsoft.Win32.Registry.SetValue(sReg, "PasswordMode", 0)


Case Key10ModeType.AlphaFull
Microsoft.Win32.Registry.SetValue(sReg, "ShiftModeEx", 6)
Microsoft.Win32.Registry.SetValue(sReg, "ShiftMode", 5)
Microsoft.Win32.Registry.SetValue(sReg, "ActiveIME", 1)
Microsoft.Win32.Registry.SetValue(sReg, "NumericMode", 0)
Microsoft.Win32.Registry.SetValue(sReg, "PasswordMode", 0)

Case Key10ModeType.Hiragana
Microsoft.Win32.Registry.SetValue(sReg, "ShiftModeEx", 0)
Microsoft.Win32.Registry.SetValue(sReg, "ShiftMode", 0)
Microsoft.Win32.Registry.SetValue(sReg, "ActiveIME", 202)
Microsoft.Win32.Registry.SetValue(sReg, "NumericMode", 0)
Microsoft.Win32.Registry.SetValue(sReg, "PasswordMode", 0)

Case Key10ModeType.KatakanaHalf
Microsoft.Win32.Registry.SetValue(sReg, "ShiftModeEx", 3)
Microsoft.Win32.Registry.SetValue(sReg, "ShiftMode", 2)
Microsoft.Win32.Registry.SetValue(sReg, "ActiveIME", 202)
Microsoft.Win32.Registry.SetValue(sReg, "NumericMode", 0)
Microsoft.Win32.Registry.SetValue(sReg, "PasswordMode", 0)

Case Key10ModeType.KatakanaFull
Microsoft.Win32.Registry.SetValue(sReg, "ShiftModeEx", 2)
Microsoft.Win32.Registry.SetValue(sReg, "ShiftMode", 1)
Microsoft.Win32.Registry.SetValue(sReg, "ActiveIME", 202)
Microsoft.Win32.Registry.SetValue(sReg, "NumericMode", 0)
Microsoft.Win32.Registry.SetValue(sReg, "PasswordMode", 0)

End Select
End Sub



ちなみに

W-ZERO3[es]本体表面の10キーを制御するのは
レジストリ「HKEY_CURRENT_USER\Software\Sharp\PhoneStatus」を操作します。

DT5200は本体表面の10キーを制御するのは
カシオのAPI「Calib.SystemLibNet.Api.SysSetInputMode」を使用します。
CASIOシステムライブラリマニュアル

モバイルのレジストリはVisualStudioの付属ツール「リモートレジストリエディタ」で見ることができます。

0 件のコメント: