| usualstringsline
| usualcomposeline
| keymapline
- | fullline
| singleline
| strline
| compline
compsym : CCHAR { $$ = $1; }
| UNUMBER { $$ = $1 ^ 0xf000; }
;
-singleline : {
- ctx->mod = 0;
- }
- modifiers KEYCODE NUMBER EQUALS rvalue EOL
- {
- if (lk_add_key(ctx, ctx->mod, $4, $6) < 0)
- YYERROR;
- }
- | PLAIN KEYCODE NUMBER EQUALS rvalue EOL
- {
- if (lk_add_key(ctx, 0, $3, $5) < 0)
- YYERROR;
- }
- ;
-modifiers : modifiers modifier
- | modifier
- ;
-modifier : SHIFT { ctx->mod |= M_SHIFT; }
- | CONTROL { ctx->mod |= M_CTRL; }
- | ALT { ctx->mod |= M_ALT; }
- | ALTGR { ctx->mod |= M_ALTGR; }
- | SHIFTL { ctx->mod |= M_SHIFTL; }
- | SHIFTR { ctx->mod |= M_SHIFTR; }
- | CTRLL { ctx->mod |= M_CTRLL; }
- | CTRLR { ctx->mod |= M_CTRLR; }
- | CAPSSHIFT { ctx->mod |= M_CAPSSHIFT; }
- ;
-fullline : KEYCODE NUMBER EQUALS rvalue0 EOL
+singleline : KEYCODE NUMBER EQUALS rvalue0 EOL
{
unsigned int j, i, keycode;
int *val;
}
}
}
+
+ | modifiers KEYCODE NUMBER EQUALS rvalue EOL
+ {
+ if (lk_add_key(ctx, ctx->mod, $3, $5) < 0)
+ YYERROR;
+ ctx->mod = 0;
+ }
+ | PLAIN KEYCODE NUMBER EQUALS rvalue EOL
+ {
+ if (lk_add_key(ctx, 0, $3, $5) < 0)
+ YYERROR;
+ ctx->mod = 0;
+ }
+ ;
+modifiers : modifiers modifier
+ | modifier
+ ;
+modifier : SHIFT { ctx->mod |= M_SHIFT; }
+ | CONTROL { ctx->mod |= M_CTRL; }
+ | ALT { ctx->mod |= M_ALT; }
+ | ALTGR { ctx->mod |= M_ALTGR; }
+ | SHIFTL { ctx->mod |= M_SHIFTL; }
+ | SHIFTR { ctx->mod |= M_SHIFTR; }
+ | CTRLL { ctx->mod |= M_CTRLL; }
+ | CTRLR { ctx->mod |= M_CTRLR; }
+ | CAPSSHIFT { ctx->mod |= M_CAPSSHIFT; }
+ ;
;
rvalue0 :
yyscan_t scanner;
int rc = -1;
+ ctx->mod = 0;
+
yylex_init(&scanner);
yylex_init_extra(ctx, &scanner);