2018-06-03 18:21:11

by Samuel Thibault

[permalink] [raw]
Subject: [PATCH] kbd: complete dead keys definitions

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)


2018-06-29 06:25:17

by Samuel Thibault

[permalink] [raw]
Subject: Re: [PATCH] kbd: complete dead keys definitions

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)


2018-06-29 20:18:59

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] kbd: complete dead keys definitions

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