forked from extern/Unexpected-Keyboard
Todo settings
This commit is contained in:
parent
f22452488d
commit
c29a2a9c9c
@ -1,8 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<dimen name="horizontal_margin">12dp</dimen>
|
<dimen name="horizontal_margin">12dp</dimen>
|
||||||
|
<dimen name="margin_bottom">3dp</dimen>
|
||||||
<dimen name="key_padding">3dp</dimen>
|
<dimen name="key_padding">3dp</dimen>
|
||||||
<dimen name="key_height">37dp</dimen>
|
<dimen name="key_height">36dp</dimen>
|
||||||
<dimen name="label_text_size">18dp</dimen>
|
<dimen name="label_text_size">18dp</dimen>
|
||||||
<dimen name="sublabel_text_size">11dp</dimen>
|
<dimen name="sublabel_text_size">11dp</dimen>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<dimen name="vertical_margin">3dp</dimen>
|
<dimen name="horizontal_margin">3dp</dimen>
|
||||||
<dimen name="horizontal_margin">2dp</dimen>
|
<dimen name="margin_top">2dp</dimen>
|
||||||
|
<dimen name="margin_bottom">5dp</dimen>
|
||||||
<dimen name="key_padding">1dp</dimen>
|
<dimen name="key_padding">1dp</dimen>
|
||||||
<dimen name="key_bg_padding">1dp</dimen>
|
<dimen name="key_bg_padding">1dp</dimen>
|
||||||
<dimen name="key_height">44dp</dimen>
|
<dimen name="key_height">50dp</dimen>
|
||||||
<dimen name="key_round">4dp</dimen>
|
<dimen name="key_round">4dp</dimen>
|
||||||
<dimen name="label_text_size">16dp</dimen>
|
<dimen name="label_text_size">16dp</dimen>
|
||||||
<dimen name="sublabel_text_size">10dp</dimen>
|
<dimen name="sublabel_text_size">10dp</dimen>
|
||||||
|
@ -7,9 +7,7 @@ import android.view.View;
|
|||||||
|
|
||||||
public class Keyboard2 extends InputMethodService
|
public class Keyboard2 extends InputMethodService
|
||||||
{
|
{
|
||||||
public static final String TAG = "Keyboard_2.0";
|
private KeyboardData _keyboardData; // TODO: settings
|
||||||
|
|
||||||
private KeyboardData _keyboardData;
|
|
||||||
private Keyboard2View _inputView = null;
|
private Keyboard2View _inputView = null;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -38,16 +36,6 @@ public class Keyboard2 extends InputMethodService
|
|||||||
{
|
{
|
||||||
if (getCurrentInputConnection() == null)
|
if (getCurrentInputConnection() == null)
|
||||||
return ;
|
return ;
|
||||||
// DEBUG
|
|
||||||
String k = "Key ";
|
|
||||||
if ((flags & KeyValue.FLAG_CTRL) != 0)
|
|
||||||
k += "Ctrl-";
|
|
||||||
if ((flags & KeyValue.FLAG_ALT) != 0)
|
|
||||||
k += "Alt-";
|
|
||||||
if ((flags & KeyValue.FLAG_SHIFT) != 0)
|
|
||||||
k += "Shift-";
|
|
||||||
log(k + key.getName());
|
|
||||||
// -
|
|
||||||
if (key.getEventCode() == KeyValue.EVENT_CONFIG)
|
if (key.getEventCode() == KeyValue.EVENT_CONFIG)
|
||||||
{
|
{
|
||||||
// TODO improve this shit
|
// TODO improve this shit
|
||||||
@ -111,9 +99,4 @@ public class Keyboard2 extends InputMethodService
|
|||||||
getCurrentInputConnection().sendKeyEvent(event);
|
getCurrentInputConnection().sendKeyEvent(event);
|
||||||
getCurrentInputConnection().sendKeyEvent(KeyEvent.changeAction(event, KeyEvent.ACTION_UP));
|
getCurrentInputConnection().sendKeyEvent(KeyEvent.changeAction(event, KeyEvent.ACTION_UP));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void log(String str)
|
|
||||||
{
|
|
||||||
Log.d(TAG, str);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -18,13 +18,14 @@ public class Keyboard2View extends View
|
|||||||
{
|
{
|
||||||
private static final float KEY_PER_ROW = 10;
|
private static final float KEY_PER_ROW = 10;
|
||||||
|
|
||||||
private static final float SUB_VALUE_DIST = 7f;
|
private static final float SUB_VALUE_DIST = 7f; // TODO: settings
|
||||||
|
|
||||||
private static final long VIBRATE_DURATION = 20;
|
private static final boolean VIBRATE_ENABLED = true; // TODO: settings
|
||||||
|
private static final long VIBRATE_DURATION = 20; // TODO: settings
|
||||||
private static final long VIBRATE_MIN_INTERVAL = 100;
|
private static final long VIBRATE_MIN_INTERVAL = 100;
|
||||||
|
|
||||||
private static final long LONGPRESS_TIMEOUT = 600;
|
private static final long LONGPRESS_TIMEOUT = 600; // TODO: settings
|
||||||
private static final long LONGPRESS_INTERVAL = 65;
|
private static final long LONGPRESS_INTERVAL = 65; // TODO: settings
|
||||||
|
|
||||||
private Keyboard2 _ime;
|
private Keyboard2 _ime;
|
||||||
private KeyboardData _keyboard;
|
private KeyboardData _keyboard;
|
||||||
@ -39,10 +40,11 @@ public class Keyboard2View extends View
|
|||||||
private Handler _handler;
|
private Handler _handler;
|
||||||
private static int _currentWhat = 0;
|
private static int _currentWhat = 0;
|
||||||
|
|
||||||
private float _verticalMargin;
|
|
||||||
private float _horizontalMargin;
|
private float _horizontalMargin;
|
||||||
|
private float _marginTop;
|
||||||
|
private float _marginBottom; // TODO: settings
|
||||||
private float _keyWidth;
|
private float _keyWidth;
|
||||||
private float _keyHeight;
|
private float _keyHeight; // TODO: settings
|
||||||
private float _keyPadding;
|
private float _keyPadding;
|
||||||
private float _keyBgPadding;
|
private float _keyBgPadding;
|
||||||
private float _keyRound;
|
private float _keyRound;
|
||||||
@ -58,8 +60,9 @@ public class Keyboard2View extends View
|
|||||||
super(context, attrs);
|
super(context, attrs);
|
||||||
_vibratorService = (Vibrator)context.getSystemService(Context.VIBRATOR_SERVICE);
|
_vibratorService = (Vibrator)context.getSystemService(Context.VIBRATOR_SERVICE);
|
||||||
_handler = new Handler(this);
|
_handler = new Handler(this);
|
||||||
_verticalMargin = getResources().getDimension(R.dimen.vertical_margin);
|
|
||||||
_horizontalMargin = getResources().getDimension(R.dimen.horizontal_margin);
|
_horizontalMargin = getResources().getDimension(R.dimen.horizontal_margin);
|
||||||
|
_marginTop = getResources().getDimension(R.dimen.margin_top);
|
||||||
|
_marginBottom = getResources().getDimension(R.dimen.margin_bottom);
|
||||||
_keyHeight = getResources().getDimension(R.dimen.key_height);
|
_keyHeight = getResources().getDimension(R.dimen.key_height);
|
||||||
_keyPadding = getResources().getDimension(R.dimen.key_padding);
|
_keyPadding = getResources().getDimension(R.dimen.key_padding);
|
||||||
_keyBgPadding = getResources().getDimension(R.dimen.key_bg_padding);
|
_keyBgPadding = getResources().getDimension(R.dimen.key_bg_padding);
|
||||||
@ -75,6 +78,7 @@ public class Keyboard2View extends View
|
|||||||
_keySubLabelPaint.setColor(getResources().getColor(R.color.key_sub_label));
|
_keySubLabelPaint.setColor(getResources().getColor(R.color.key_sub_label));
|
||||||
_keySubLabelPaint.setTextSize(getResources().getDimension(R.dimen.sublabel_text_size));
|
_keySubLabelPaint.setTextSize(getResources().getDimension(R.dimen.sublabel_text_size));
|
||||||
setOnTouchListener(this);
|
setOnTouchListener(this);
|
||||||
|
requestLayout();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setKeyboard(Keyboard2 ime, KeyboardData keyboardData)
|
public void setKeyboard(Keyboard2 ime, KeyboardData keyboardData)
|
||||||
@ -172,7 +176,7 @@ public class Keyboard2View extends View
|
|||||||
float y;
|
float y;
|
||||||
float keyW;
|
float keyW;
|
||||||
|
|
||||||
y = _verticalMargin - _keyHeight;
|
y = _marginTop - _keyHeight;
|
||||||
for (KeyboardData.Row row : _keyboard.getRows())
|
for (KeyboardData.Row row : _keyboard.getRows())
|
||||||
{
|
{
|
||||||
y += _keyHeight;
|
y += _keyHeight;
|
||||||
@ -254,8 +258,9 @@ public class Keyboard2View extends View
|
|||||||
|
|
||||||
private void vibrate()
|
private void vibrate()
|
||||||
{
|
{
|
||||||
|
if (!VIBRATE_ENABLED)
|
||||||
|
return ;
|
||||||
long now = System.currentTimeMillis();
|
long now = System.currentTimeMillis();
|
||||||
|
|
||||||
if ((now - _lastVibration) > VIBRATE_MIN_INTERVAL)
|
if ((now - _lastVibration) > VIBRATE_MIN_INTERVAL)
|
||||||
{
|
{
|
||||||
_lastVibration = now;
|
_lastVibration = now;
|
||||||
@ -285,7 +290,6 @@ public class Keyboard2View extends View
|
|||||||
return (true);
|
return (true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Keyboard2.log("problem: cannot handle this message");
|
|
||||||
return (false);
|
return (false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -299,7 +303,7 @@ public class Keyboard2View extends View
|
|||||||
height = 0;
|
height = 0;
|
||||||
else
|
else
|
||||||
height = (int)(_keyHeight * ((float)_keyboard.getRows().size())
|
height = (int)(_keyHeight * ((float)_keyboard.getRows().size())
|
||||||
+ (_verticalMargin * 2));
|
+ _marginTop + _marginBottom);
|
||||||
setMeasuredDimension(dm.widthPixels, height);
|
setMeasuredDimension(dm.widthPixels, height);
|
||||||
_keyWidth = (getWidth() - (_horizontalMargin * 2)) / KEY_PER_ROW;
|
_keyWidth = (getWidth() - (_horizontalMargin * 2)) / KEY_PER_ROW;
|
||||||
}
|
}
|
||||||
@ -311,7 +315,7 @@ public class Keyboard2View extends View
|
|||||||
float y;
|
float y;
|
||||||
boolean upperCase = ((_flags & KeyValue.FLAG_SHIFT) != 0);
|
boolean upperCase = ((_flags & KeyValue.FLAG_SHIFT) != 0);
|
||||||
|
|
||||||
y = _verticalMargin;
|
y = _marginTop;
|
||||||
for (KeyboardData.Row row : _keyboard.getRows())
|
for (KeyboardData.Row row : _keyboard.getRows())
|
||||||
{
|
{
|
||||||
x = (KEY_PER_ROW * _keyWidth - row.getWidth(_keyWidth)) / 2f + _horizontalMargin;
|
x = (KEY_PER_ROW * _keyWidth - row.getWidth(_keyWidth)) / 2f + _horizontalMargin;
|
||||||
|
Loading…
Reference in New Issue
Block a user