shithub: patch

Download patch

ref: 912c8621bb5da24236a65a5360057659fc04d67e
parent: d178c64284180e2fb53abe1b8d5a12b43daf741f
author: qwx <qwx@sciops.net>
date: Mon Nov 3 04:20:51 EST 2025

add npe-keys: additional keyboard defines

requires kbdfs changes.

--- /dev/null
+++ b/npe-keys
@@ -1,0 +1,114 @@
+diff c68d3e221d9b372e250fcec40e01c6e5176abe8b uncommitted
+--- a/include/npe/SDL2/SDL_keycode.h
++++ b/include/npe/SDL2/SDL_keycode.h
+@@ -88,15 +88,15 @@
+ 
+ 	SDLK_LALT = Kalt,
+ 	SDLK_RALT = Kaltgr, /* FIXME what about keyboards without it? */
+-	/* FIXME no distinction */
+ 	SDLK_LSHIFT = Kshift,
+-	SDLK_RSHIFT = SDLK_LSHIFT,
++	SDLK_RSHIFT = Krshift,
+ 	SDLK_LCTRL = Kctl,
+-	SDLK_RCTRL = '>', /* FIXME this is a hack */
++	SDLK_RCTRL = Krctl,
++	SDLK_CAPSLOCK = Kcaps,
+ 
++
+ 	/* FIXME not bound to anything */
+ 	SDLK_UNKNOWN = -99999,
+-	SDLK_CAPSLOCK,
+ 	SDLK_KP_ENTER,
+ 	SDLK_AC_BACK,
+ 	SDLK_PAUSE,
+@@ -118,16 +118,15 @@
+ 	SDLK_KP_3,
+ 	SDLK_KP_0,
+ 
+-	/* FIXME no distinction */
+ 	KMOD_LSHIFT = 1<<0,
+-	KMOD_RSHIFT = KMOD_LSHIFT,
+-	KMOD_LCTRL = 1<<1,
+-	KMOD_RCTRL = KMOD_LCTRL,
+-	KMOD_LALT = 1<<2,
+-	KMOD_RALT = 1<<3,
+-	KMOD_LGUI = 1<<4,
++	KMOD_RSHIFT = 1<<1,
++	KMOD_LCTRL = 1<<6,
++	KMOD_RCTRL = 1<<7,
++	KMOD_LALT = 1<<8,
++	KMOD_RALT = 1<<9,
++	KMOD_LGUI = 1<<10,
+ 	KMOD_RGUI = KMOD_LGUI,
+-	KMOD_CAPS = 1<<5,
++	KMOD_CAPS = 1<<13,
+ 
+ 	KMOD_SHIFT = KMOD_LSHIFT|KMOD_RSHIFT,
+ 	KMOD_CTRL = KMOD_LCTRL|KMOD_RCTRL,
+--- a/include/npe/SDL2/SDL_scancode.h
++++ b/include/npe/SDL2/SDL_scancode.h
+@@ -114,6 +114,7 @@
+ 	SDL_SCANCODE_MUTE = 0x7f,
+ 	SDL_SCANCODE_VOLUMEUP,
+ 	SDL_SCANCODE_VOLUMEDOWN,
++	SDL_SCANCODE_PLAYPAUSE,
+ 
+ 	SDL_SCANCODE_LCTRL = 0xe0,
+ 	SDL_SCANCODE_LSHIFT,
+--- a/libnpe_sdl2/events.c
++++ b/libnpe_sdl2/events.c
+@@ -286,6 +286,12 @@
+ 	if(r == Kalt) return SDL_SCANCODE_LALT;
+ 	if(r == Kmod4) return SDL_SCANCODE_LGUI;
+ 	if(r == Kaltgr) return SDL_SCANCODE_RALT;
++	if(r == Kcaps) return SDL_SCANCODE_CAPSLOCK;
++	if(r == Krshift) return SDL_SCANCODE_RSHIFT;
++	if(r == Krctl) return SDL_SCANCODE_RCTRL;
++	if(r == Kvolup) return SDL_SCANCODE_VOLUMEUP;
++	if(r == Kvoldn) return SDL_SCANCODE_VOLUMEDOWN;
++	if(r == Kpause) return SDL_SCANCODE_PLAYPAUSE;
+ 
+ 	if(r >= (KF|1) && r <= (KF|12)) return SDL_SCANCODE_F1 + r - (KF|1);
+ 
+@@ -490,8 +496,10 @@
+ 						/* FIXME: does this work in both native AND drawterm? */
+ 						write(kbin, "\x46", 1);
+ 						kmod |= KMOD_LALT;
+-					}else if (r == Kshift)
++					}else if(r == Kshift)
+ 						kmod |= KMOD_LSHIFT;
++					else if(r == Kcaps)
++						kmod |= KMOD_CAPS;
+ 					else if(r == Kctl)
+ 						kmod |= KMOD_LCTRL;
+ 					else if(r == Kaltgr)
+@@ -498,6 +506,10 @@
+ 						kmod |= KMOD_RALT;
+ 					else if(r == Kmod4)
+ 						kmod |= KMOD_LGUI;
++					else if(r == Krshift)
++						kmod |= KMOD_RSHIFT;
++					else if(r == Krctl)
++						kmod |= KMOD_RCTRL;
+ 					else{
+ 						o = npe_sdl.textinput ? r : tolowerrune(r);
+ 						continue;
+@@ -523,8 +535,18 @@
+ 						kmod &= ~KMOD_LALT;
+ 					else if(r == Kshift)
+ 						kmod &= ~KMOD_LSHIFT;
++					else if (r == Kcaps)
++						kmod &= ~KMOD_CAPS;
+ 					else if(r == Kctl)
+ 						kmod &= ~KMOD_LCTRL;
++					else if(r == Kaltgr)
++						kmod &= ~KMOD_RALT;
++					else if(r == Kmod4)
++						kmod &= ~KMOD_LGUI;
++					else if(r == Krshift)
++						kmod &= ~KMOD_RSHIFT;
++					else if(r == Krctl)
++						kmod &= ~KMOD_RCTRL;
+ 
+ 					t = Rup;
+ 					send(salt[Ckey].c, &r);
--