« スクリーンキーボード KeroKeyboard を Qt で実現しよう | トップページ | キートップを表示して、押されたキーを判断するようにする »

2017年1月16日 (月)

キーレイアウト用のデータが出来上がりました


地味に定規で測った後微調整してキーレイアウト用基本データが出来上がりました。こんな感じです。

  // original size
  static const int WIDTH = 270;
  static const int HEIGHT = 75;

  // layout entry
  typedef struct {
	QRect rect;
	ID_KEY id;
  } KeyLayout;

  // layout table for keyboard
  KeyLayout layout[ID_KEY_NUM] = {
	//       x,  y,  w,  h   key
	{QRect(  0,  0,  0,  0), ID_KEY_0}, // dummy entry

	// 1st row
	{QRect(  0,  0, 18, 15), ID_KEY_1},
	{QRect( 18,  0, 18, 15), ID_KEY_2},
	{QRect( 36,  0, 18, 15), ID_KEY_3},
	{QRect( 54,  0, 18, 15), ID_KEY_4},
	{QRect( 72,  0, 18, 15), ID_KEY_5},
	{QRect( 90,  0, 18, 15), ID_KEY_6},
	{QRect(108,  0, 18, 15), ID_KEY_7},
	{QRect(126,  0, 18, 15), ID_KEY_8},
	{QRect(144,  0, 18, 15), ID_KEY_9},
	{QRect(162,  0, 18, 15), ID_KEY_10},
	{QRect(180,  0, 18, 15), ID_KEY_11},
	{QRect(198,  0, 18, 15), ID_KEY_12},
	{QRect(216,  0, 18, 15), ID_KEY_13},
	{QRect(234,  0, 18, 15), ID_KEY_14},
	{QRect(252,  0, 18, 15), ID_KEY_15},

	// 2nd row
	{QRect(  0, 15, 24, 15), ID_KEY_16},
	{QRect( 24, 15, 18, 15), ID_KEY_17},
                       :
                       :


テスト用のWidgetクラスで、このデータを元にサイズを5倍に拡大して、drawRect()で描画するとこんな感じになりました。

Kerokeyboardwithqt000



なんとなく KeroKeyboard のバッタモンにはみえるかも(*^-^)

« スクリーンキーボード KeroKeyboard を Qt で実現しよう | トップページ | キートップを表示して、押されたキーを判断するようにする »

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/2011805/69264222

この記事へのトラックバック一覧です: キーレイアウト用のデータが出来上がりました:

« スクリーンキーボード KeroKeyboard を Qt で実現しよう | トップページ | キートップを表示して、押されたキーを判断するようにする »