All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] kbd: complete dead keys definitions
@ 2018-06-03 18:18 Samuel Thibault
  2018-06-28 22:26 ` Samuel Thibault
  0 siblings, 1 reply; 3+ messages in thread
From: Samuel Thibault @ 2018-06-03 18:18 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Jiri Slaby, Dmitry Torokhov
  Cc: linux-kernel, Anton Zinoviev

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 <samuel.thibault@ens-lyon.org>

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)

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] kbd: complete dead keys definitions
  2018-06-03 18:18 [PATCH] kbd: complete dead keys definitions Samuel Thibault
@ 2018-06-28 22:26 ` Samuel Thibault
  2018-06-29 18:28   ` Greg Kroah-Hartman
  0 siblings, 1 reply; 3+ messages in thread
From: Samuel Thibault @ 2018-06-28 22:26 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Jiri Slaby, Dmitry Torokhov, linux-kernel,
	Anton Zinoviev

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 <samuel.thibault@ens-lyon.org>
> 
> 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)


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] kbd: complete dead keys definitions
  2018-06-28 22:26 ` Samuel Thibault
@ 2018-06-29 18:28   ` Greg Kroah-Hartman
  0 siblings, 0 replies; 3+ messages in thread
From: Greg Kroah-Hartman @ 2018-06-29 18:28 UTC (permalink / raw)
  To: Samuel Thibault, Jiri Slaby, Dmitry Torokhov, linux-kernel,
	Anton Zinoviev

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-06-29 18:28 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-03 18:18 [PATCH] kbd: complete dead keys definitions Samuel Thibault
2018-06-28 22:26 ` Samuel Thibault
2018-06-29 18:28   ` Greg Kroah-Hartman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.