This completes dead keys definitions for internationalization
completeness on the console. The representatives have been chosen
coherently with libx11 compose sequences, which avoid symetry conflicts
(e.g. there is U with caron, but no c with breve).
Signed-off-by: Samuel Thibault <[email protected]>
Index: linux-4.15/drivers/s390/char/keyboard.c
===================================================================
--- linux-4.15.orig/drivers/s390/char/keyboard.c
+++ linux-4.15/drivers/s390/char/keyboard.c
@@ -39,8 +39,34 @@ static const int kbd_max_vals[] = {
};
static const int KBD_NR_TYPES = ARRAY_SIZE(kbd_max_vals);
-static unsigned char ret_diacr[NR_DEAD] = {
- '`', '\'', '^', '~', '"', ','
+static const unsigned char ret_diacr[NR_DEAD] = {
+ '`', /* dead_grave */
+ '\'', /* dead_acute */
+ '^', /* dead_circumflex */
+ '~', /* dead_tilda */
+ '"', /* dead_diaeresis */
+ ',', /* dead_cedilla */
+ '_', /* dead_macron */
+ 'U', /* dead_breve */
+ '.', /* dead_abovedot */
+ '*', /* dead_abovering */
+ '=', /* dead_doubleacute */
+ 'c', /* dead_caron */
+ 'k', /* dead_ogonek */
+ 'i', /* dead_iota */
+ '#', /* dead_voiced_sound */
+ 'o', /* dead_semivoiced_sound */
+ '!', /* dead_belowdot */
+ '?', /* dead_hook */
+ '+', /* dead_horn */
+ '-', /* dead_stroke */
+ ')', /* dead_abovecomma */
+ '(', /* dead_abovereversedcomma */
+ ':', /* dead_doublegrave */
+ 'n', /* dead_invertedbreve */
+ ';', /* dead_belowcomma */
+ '$', /* dead_currency */
+ '@', /* dead_greek */
};
/*
Index: linux-4.15/drivers/tty/vt/keyboard.c
===================================================================
--- linux-4.15.orig/drivers/tty/vt/keyboard.c
+++ linux-4.15/drivers/tty/vt/keyboard.c
@@ -690,7 +690,35 @@ static void k_dead2(struct vc_data *vc,
*/
static void k_dead(struct vc_data *vc, unsigned char value, char up_flag)
{
- static const unsigned char ret_diacr[NR_DEAD] = {'`', '\'', '^', '~', '"', ',' };
+ static const unsigned char ret_diacr[NR_DEAD] = {
+ '`', /* dead_grave */
+ '\'', /* dead_acute */
+ '^', /* dead_circumflex */
+ '~', /* dead_tilda */
+ '"', /* dead_diaeresis */
+ ',', /* dead_cedilla */
+ '_', /* dead_macron */
+ 'U', /* dead_breve */
+ '.', /* dead_abovedot */
+ '*', /* dead_abovering */
+ '=', /* dead_doubleacute */
+ 'c', /* dead_caron */
+ 'k', /* dead_ogonek */
+ 'i', /* dead_iota */
+ '#', /* dead_voiced_sound */
+ 'o', /* dead_semivoiced_sound */
+ '!', /* dead_belowdot */
+ '?', /* dead_hook */
+ '+', /* dead_horn */
+ '-', /* dead_stroke */
+ ')', /* dead_abovecomma */
+ '(', /* dead_abovereversedcomma */
+ ':', /* dead_doublegrave */
+ 'n', /* dead_invertedbreve */
+ ';', /* dead_belowcomma */
+ '$', /* dead_currency */
+ '@', /* dead_greek */
+ };
k_deadunicode(vc, ret_diacr[value], up_flag);
}
Index: linux-4.15/include/uapi/linux/keyboard.h
===================================================================
--- linux-4.15.orig/include/uapi/linux/keyboard.h
+++ linux-4.15/include/uapi/linux/keyboard.h
@@ -357,8 +357,29 @@
#define K_DTILDE K(KT_DEAD,3)
#define K_DDIERE K(KT_DEAD,4)
#define K_DCEDIL K(KT_DEAD,5)
+#define K_DMACRON K(KT_DEAD,6)
+#define K_DBREVE K(KT_DEAD,7)
+#define K_DABDOT K(KT_DEAD,8)
+#define K_DABRING K(KT_DEAD,9)
+#define K_DDBACUTE K(KT_DEAD,10)
+#define K_DCARON K(KT_DEAD,11)
+#define K_DOGONEK K(KT_DEAD,12)
+#define K_DIOTA K(KT_DEAD,13)
+#define K_DVOICED K(KT_DEAD,14)
+#define K_DSEMVOICED K(KT_DEAD,15)
+#define K_DBEDOT K(KT_DEAD,16)
+#define K_DHOOK K(KT_DEAD,17)
+#define K_DHORN K(KT_DEAD,18)
+#define K_DSTROKE K(KT_DEAD,19)
+#define K_DABCOMMA K(KT_DEAD,20)
+#define K_DABREVCOMMA K(KT_DEAD,21)
+#define K_DDBGRAVE K(KT_DEAD,22)
+#define K_DINVBREVE K(KT_DEAD,23)
+#define K_DBECOMMA K(KT_DEAD,24)
+#define K_DCURRENCY K(KT_DEAD,25)
+#define K_DGREEK K(KT_DEAD,26)
-#define NR_DEAD 6
+#define NR_DEAD 27
#define K_DOWN K(KT_CUR,0)
#define K_LEFT K(KT_CUR,1)
Hello,
Ping?
Samuel
Samuel Thibault, le dim. 03 juin 2018 20:18:58 +0200, a ecrit:
> This completes dead keys definitions for internationalization
> completeness on the console. The representatives have been chosen
> coherently with libx11 compose sequences, which avoid symetry conflicts
> (e.g. there is U with caron, but no c with breve).
>
> Signed-off-by: Samuel Thibault <[email protected]>
>
> Index: linux-4.15/drivers/s390/char/keyboard.c
> ===================================================================
> --- linux-4.15.orig/drivers/s390/char/keyboard.c
> +++ linux-4.15/drivers/s390/char/keyboard.c
> @@ -39,8 +39,34 @@ static const int kbd_max_vals[] = {
> };
> static const int KBD_NR_TYPES = ARRAY_SIZE(kbd_max_vals);
>
> -static unsigned char ret_diacr[NR_DEAD] = {
> - '`', '\'', '^', '~', '"', ','
> +static const unsigned char ret_diacr[NR_DEAD] = {
> + '`', /* dead_grave */
> + '\'', /* dead_acute */
> + '^', /* dead_circumflex */
> + '~', /* dead_tilda */
> + '"', /* dead_diaeresis */
> + ',', /* dead_cedilla */
> + '_', /* dead_macron */
> + 'U', /* dead_breve */
> + '.', /* dead_abovedot */
> + '*', /* dead_abovering */
> + '=', /* dead_doubleacute */
> + 'c', /* dead_caron */
> + 'k', /* dead_ogonek */
> + 'i', /* dead_iota */
> + '#', /* dead_voiced_sound */
> + 'o', /* dead_semivoiced_sound */
> + '!', /* dead_belowdot */
> + '?', /* dead_hook */
> + '+', /* dead_horn */
> + '-', /* dead_stroke */
> + ')', /* dead_abovecomma */
> + '(', /* dead_abovereversedcomma */
> + ':', /* dead_doublegrave */
> + 'n', /* dead_invertedbreve */
> + ';', /* dead_belowcomma */
> + '$', /* dead_currency */
> + '@', /* dead_greek */
> };
>
> /*
> Index: linux-4.15/drivers/tty/vt/keyboard.c
> ===================================================================
> --- linux-4.15.orig/drivers/tty/vt/keyboard.c
> +++ linux-4.15/drivers/tty/vt/keyboard.c
> @@ -690,7 +690,35 @@ static void k_dead2(struct vc_data *vc,
> */
> static void k_dead(struct vc_data *vc, unsigned char value, char up_flag)
> {
> - static const unsigned char ret_diacr[NR_DEAD] = {'`', '\'', '^', '~', '"', ',' };
> + static const unsigned char ret_diacr[NR_DEAD] = {
> + '`', /* dead_grave */
> + '\'', /* dead_acute */
> + '^', /* dead_circumflex */
> + '~', /* dead_tilda */
> + '"', /* dead_diaeresis */
> + ',', /* dead_cedilla */
> + '_', /* dead_macron */
> + 'U', /* dead_breve */
> + '.', /* dead_abovedot */
> + '*', /* dead_abovering */
> + '=', /* dead_doubleacute */
> + 'c', /* dead_caron */
> + 'k', /* dead_ogonek */
> + 'i', /* dead_iota */
> + '#', /* dead_voiced_sound */
> + 'o', /* dead_semivoiced_sound */
> + '!', /* dead_belowdot */
> + '?', /* dead_hook */
> + '+', /* dead_horn */
> + '-', /* dead_stroke */
> + ')', /* dead_abovecomma */
> + '(', /* dead_abovereversedcomma */
> + ':', /* dead_doublegrave */
> + 'n', /* dead_invertedbreve */
> + ';', /* dead_belowcomma */
> + '$', /* dead_currency */
> + '@', /* dead_greek */
> + };
>
> k_deadunicode(vc, ret_diacr[value], up_flag);
> }
> Index: linux-4.15/include/uapi/linux/keyboard.h
> ===================================================================
> --- linux-4.15.orig/include/uapi/linux/keyboard.h
> +++ linux-4.15/include/uapi/linux/keyboard.h
> @@ -357,8 +357,29 @@
> #define K_DTILDE K(KT_DEAD,3)
> #define K_DDIERE K(KT_DEAD,4)
> #define K_DCEDIL K(KT_DEAD,5)
> +#define K_DMACRON K(KT_DEAD,6)
> +#define K_DBREVE K(KT_DEAD,7)
> +#define K_DABDOT K(KT_DEAD,8)
> +#define K_DABRING K(KT_DEAD,9)
> +#define K_DDBACUTE K(KT_DEAD,10)
> +#define K_DCARON K(KT_DEAD,11)
> +#define K_DOGONEK K(KT_DEAD,12)
> +#define K_DIOTA K(KT_DEAD,13)
> +#define K_DVOICED K(KT_DEAD,14)
> +#define K_DSEMVOICED K(KT_DEAD,15)
> +#define K_DBEDOT K(KT_DEAD,16)
> +#define K_DHOOK K(KT_DEAD,17)
> +#define K_DHORN K(KT_DEAD,18)
> +#define K_DSTROKE K(KT_DEAD,19)
> +#define K_DABCOMMA K(KT_DEAD,20)
> +#define K_DABREVCOMMA K(KT_DEAD,21)
> +#define K_DDBGRAVE K(KT_DEAD,22)
> +#define K_DINVBREVE K(KT_DEAD,23)
> +#define K_DBECOMMA K(KT_DEAD,24)
> +#define K_DCURRENCY K(KT_DEAD,25)
> +#define K_DGREEK K(KT_DEAD,26)
>
> -#define NR_DEAD 6
> +#define NR_DEAD 27
>
> #define K_DOWN K(KT_CUR,0)
> #define K_LEFT K(KT_CUR,1)
On Fri, Jun 29, 2018 at 12:26:53AM +0200, Samuel Thibault wrote:
> Hello,
>
> Ping?
It's in my to-review queue please be patient.
thanks,
greg k-h