input: keyboard: continued refactoring brain-kbd-i2c
* change to early return pattern
This commit is contained in:
parent
5e99d0a5b0
commit
e35e599497
|
@ -89,56 +89,54 @@ static bool handle_symbol_key(struct bk_i2c_data *kbd, u8 keycode)
|
||||||
{
|
{
|
||||||
struct keymap_def *keymap = &kbd->keymaps[BK_KEY(keycode)];
|
struct keymap_def *keymap = &kbd->keymaps[BK_KEY(keycode)];
|
||||||
|
|
||||||
if (keymap->symbol_event_code != KEY_RESERVED) {
|
if (keymap->symbol_event_code == KEY_RESERVED)
|
||||||
if (kbd->symbol_states[BK_KEY(keycode)] == false) {
|
|
||||||
input_report_key(kbd->idev, keymap->normal_event_code, 0);
|
|
||||||
|
|
||||||
dev_dbg(&kbd->cli->dev,
|
|
||||||
"mode changed, normal key %02x(%02x) released\n",
|
|
||||||
BK_KEY(keycode), keymap->normal_event_code);
|
|
||||||
}
|
|
||||||
|
|
||||||
input_report_key(kbd->idev,
|
|
||||||
keymap->symbol_event_code, BK_IS_PRESSED(keycode));
|
|
||||||
|
|
||||||
kbd->symbol_states[BK_KEY(keycode)] = BK_IS_PRESSED(keycode);
|
|
||||||
|
|
||||||
dev_dbg(&kbd->cli->dev, "symbol key %02x(%02x) %s\n",
|
|
||||||
BK_KEY(keycode), keymap->symbol_event_code,
|
|
||||||
BK_IS_PRESSED(keycode) ? "pressed": "released");
|
|
||||||
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
if (kbd->symbol_states[BK_KEY(keycode)] == false) {
|
||||||
|
input_report_key(kbd->idev, keymap->normal_event_code, 0);
|
||||||
|
|
||||||
|
dev_dbg(&kbd->cli->dev,
|
||||||
|
"mode changed, normal key %02x(%02x) released\n",
|
||||||
|
BK_KEY(keycode), keymap->normal_event_code);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input_report_key(kbd->idev,
|
||||||
|
keymap->symbol_event_code, BK_IS_PRESSED(keycode));
|
||||||
|
|
||||||
|
kbd->symbol_states[BK_KEY(keycode)] = BK_IS_PRESSED(keycode);
|
||||||
|
|
||||||
|
dev_dbg(&kbd->cli->dev, "symbol key %02x(%02x) %s\n",
|
||||||
|
BK_KEY(keycode), keymap->symbol_event_code,
|
||||||
|
BK_IS_PRESSED(keycode) ? "pressed": "released");
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool handle_normal_key(struct bk_i2c_data *kbd, u8 keycode)
|
static bool handle_normal_key(struct bk_i2c_data *kbd, u8 keycode)
|
||||||
{
|
{
|
||||||
struct keymap_def *keymap = &kbd->keymaps[BK_KEY(keycode)];
|
struct keymap_def *keymap = &kbd->keymaps[BK_KEY(keycode)];
|
||||||
|
|
||||||
if (keymap->normal_event_code != KEY_RESERVED) {
|
if (keymap->normal_event_code == KEY_RESERVED)
|
||||||
if (kbd->symbol_states[BK_KEY(keycode)] == true) {
|
|
||||||
input_report_key(kbd->idev, keymap->symbol_event_code, 0);
|
|
||||||
|
|
||||||
dev_dbg(&kbd->cli->dev,
|
|
||||||
"mode changed, symbol key %02x(%02x) released\n",
|
|
||||||
BK_KEY(keycode), keymap->symbol_event_code);
|
|
||||||
}
|
|
||||||
|
|
||||||
input_report_key(kbd->idev,
|
|
||||||
keymap->normal_event_code, BK_IS_PRESSED(keycode));
|
|
||||||
|
|
||||||
kbd->symbol_states[BK_KEY(keycode)] = false;
|
|
||||||
|
|
||||||
dev_dbg(&kbd->cli->dev, "normal key %02x(%02x) %s\n",
|
|
||||||
BK_KEY(keycode), keymap->normal_event_code,
|
|
||||||
BK_IS_PRESSED(keycode) ? "pressed": "released");
|
|
||||||
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
if (kbd->symbol_states[BK_KEY(keycode)] == true) {
|
||||||
|
input_report_key(kbd->idev, keymap->symbol_event_code, 0);
|
||||||
|
|
||||||
|
dev_dbg(&kbd->cli->dev,
|
||||||
|
"mode changed, symbol key %02x(%02x) released\n",
|
||||||
|
BK_KEY(keycode), keymap->symbol_event_code);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input_report_key(kbd->idev,
|
||||||
|
keymap->normal_event_code, BK_IS_PRESSED(keycode));
|
||||||
|
|
||||||
|
kbd->symbol_states[BK_KEY(keycode)] = false;
|
||||||
|
|
||||||
|
dev_dbg(&kbd->cli->dev, "normal key %02x(%02x) %s\n",
|
||||||
|
BK_KEY(keycode), keymap->normal_event_code,
|
||||||
|
BK_IS_PRESSED(keycode) ? "pressed": "released");
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool detect_key(struct bk_i2c_data *kbd, u8 keycode)
|
static bool detect_key(struct bk_i2c_data *kbd, u8 keycode)
|
||||||
|
|
Loading…
Reference in New Issue