| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Adding the missing NULL sentinel pointer allows
delete key to function without crashing pc_kbd driver.
Message-ID: <20241028080849.3196116-1-damien@zamaudio.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allow to reduce the dependencies, only xkbcommon (keyboard support
only) is required instead of the whole x11 library + lex + yacc.
This replacement allow to reduce the code size, now features are handled
by xkbcommon itself.
The functionnalites remain the sames (actions are reimplemented
but in the code directly as it’s impossible to add custom actions).
The custom xkb data files are removed as we can now directly use the
standard ones from xkeyboard-config.
The configuration to launch the console keyboard modules changed to now
directly configure the model+layout+variat+options directly.
Tested by compiling with and without xkbcommon.
Tested X11 (ran i3 correctly).
Composing is still working.
Message-ID: <20240309234838.31923-1-etienne.brateau@gmail.com>
|
|
|
|
| |
for va_start etc.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
function declarations.
Most of the changes land in one of these buckets:
* Removed unused declarations.
* Used (void) to represent no parameters instead of () which means an
undeterminate number of parameters.
* Included missing header files whenever necessary (stdlib.h,
sys/mman.h, etc)
* Typedefed function pointers to be able to fully declare the parameter
types.
* Added declarations of library functions that are used elsewhere
(example is libps/ps.h).
* Made functions static whenever they are only used in that file.
* Forwarded declarations of some methods that were made static.
Message-Id: <ZDD1o7/tVYeZew+G@jupiter.tail36e24.ts.net>
|
|
|
|
|
| |
Also add -Werror=old-style-definition to enforce new code.
Message-Id: <ZBZ+8xf7GHy2RT/h@jupiter.tail36e24.ts.net>
|
|
|
|
|
| |
Our variants print stack traces on failures. This will make locating
errors much easier.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To prevent infinite recursion range checking was introduced
as an exit condition adding two extra comparisons on each
recursive call.
By fixing the range used by the recursive call over the lower
half of the array one can avoid penalizing successful lookups
while still preventing infinite recursion due to `first`
parameter being greater than `last` parameter.
* console-client/xkb/kstoucs.c (find_ucs): don't remove middle from the
lower range. Remove extra comparisons.
|
|
|
|
| |
* console-client/xkb/kstoucs.c (find_ucs): assert precondition.
|
|
|
|
|
|
|
|
| |
Previously, the binary search through the keysym map was incorrectly
implemented. This resulted in infinite loops (thanks to the compilers
tail call optimization) or crashes (if the stack space was exhausted).
* console-client/xkb/kstoucs.c (find_ucs): Fix binary search.
|
|
|
|
|
|
| |
* console-client/xkb/kstoucs.c (find_ucs): Previously, this function
was a nested function for no reason at all. Turn it into a normal
function.
|
|
|
|
|
|
|
|
|
| |
Since "default" is not provided any more by xkb
* console-client/xkb/xkb-data/keymap/hurd: Replace "default"
xkb_compatibility by
"basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" for all
keymaps.
|
|
|
|
| |
Signed-off-by: Stefan Weil <sw@weilnetz.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make empty bodies of control flow statements more explicit. Doing so
will allow us to use stricter compiler settings. This would have
cought 4ece292c.
* console-client/xkb/xkb.c: Make empty bodies more explicit
* libpipe/pipe.c: Likewise.
* mach-defpager/default_pager.c: Likewise.
* pfinet/linux-src/net/ipv4/fib_hash.c: Likewise.
* pflocal/connq.c: Likewise.
* pflocal/socket.c: Likewise.
|
|
|
|
|
| |
Some files were not normalized. In console/motd.UTF8 the additional
newline is intentional. Empty files were excluded as well.
|
|
|
|
| |
* console-client/xkb/kstoucs.c (find_ucs): Return 0 by default.
|
|
|
|
| |
* console-client/xkb/compose.c (read_composefile): Always fclose `fc'.
|
|
|
|
|
| |
* console-client/xkb/kstoucs.c (find_ucs): Remove middle value from
recursive call range.
|
|
|
|
|
| |
* console-client/xkb/xkb-data/keymap/hurd: Add keymaps used by the Debian
installer.
|
|\ |
|
| | |
|
|/
|
|
|
|
| |
* configure.in (X11_PREFIX): Define from x11.pc's prefix variable.
* console-client/xkb/compose.c (get_compile_file_for_locale): Use
X11_PREFIX "/share" instead of DATADIR.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* console-client/Makefile [HAVE_X11=yes](compose-CFLAGS): Define DATADIR.
* console-client/pc-kbd.c (pc_kbd_init): Load compose file
unconditionally.
* console-client/xkb/compose.c: Include fcntl.h, unistd.h and locale.h
(struct map_entry, enum callback_result, map_callback): New types.
(map_iterate): New function.
(struct matcher_context): New type.
(match_left_set_right, match_right_set_left): New functions.
(get_compose_file_for_locale): Likewise.
(read_composefile): Use get_compose_file_for_locale result when
argument composefn is NULL.
|
|
|
|
|
| |
* console-client/xkb/xkb.c: Remove macro NoSymbol.
* console-client/xkb/compose.c: Likewise.
|
| |
|
| |
|
|
|
|
| |
* console-client/xkb/parser.y(parse_xkbconfig): Free cwd.
|
|
|
|
|
|
|
|
| |
* console-client/xkb/default.xkb: Removed file.
* console-client/xkb/makeconf.sh: Likewise.
* console-client/xkb/xkbdefaults.c: Likewise.
* console-client/xkb/parser.y(parse_xkbconfig): Don't use harcoded
defaults, return error when no keymap file is given.
|
| |
|
|
|
|
|
|
|
| |
* console-client/Makefile (DIST_FILES): Add xkb/kstoucs_map.sh.
(kstoucs_map.c): New target.
* console-client/xkb/kstoucs.c: Reimplement KeySymToUcs4.
* console-client/xkb/kstoucs_map.sh: New file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* config.make.in (HAVE_X11,X11_CFLAGS,X11_LIBS,XKB_BASE): New variables.
* configure.in: Check for x11 module.
* console-client/Makefile (PC_KBD_SO_SRCS): Move XKB sources...
* console-client/Makefile (XKB_SRCS): ... here. New variable.
* console-client/Makefile (SRCS): Add $(XKB_SRCS).
* console-client/Makefile (LCLHDRS): Add xkb/xkb.h.
* console-client/Makefile (XKB_DATA_DIR): Removed variable.
* console-client/Makefile (pc_kbd.so.$(hurd-version)): Use patsubst.
Depend on XKB objects when HAVE_X11 = yes.
* console-client/Makefile (install): Depend on XKB datafiles when
HAVE_X11 = yes.
* console-client/Makefile (pc-kbd-CFLAGS): Set variable when
HAVE_X11 = yes
* console-client/Makefile ($(XKB_DATA_DIR),$(XKB_DATA_DIR)/%): Replaced
by...
* console-client/Makefile[HAVE_X11=yes]($(XKB_BASE),$(XKB_BASE)/%): ...
this targets.
* console-client/Makefile[HAVE_X11=yes](pc_kbd-LDLIBS): New variable.
* console-client/xkb/keysymdef.h: Removed file.
* console-client/xkb/ks_tables.h: Likewise.
* console-client/xkb/symname.c: Likewise.
* console-client/xkb/xkb.c: Include <X11/keysymdef.h>.
* console-client/xkb/compose.c: Likewise.
* console-client/xkb/xkb.h: Remove XStringToKeysym prototype.
Include <X11/Xlib.h>.
|
|
|
|
|
|
|
| |
* console-client/xkb/README: Refer to this artifact as "module"
instead of "input driver".
Key repeater is now implemented by pc-kbd.
Update the module's installation and usage procedures.
|
|
|
|
|
|
| |
* console-client/xkb/parser.y (skip_to_firstsection): New function.
(include_section): Call skip_to_firstsection when
skip_to_defaultsection fails.
|
| |
|
| |
|
|
|
|
| |
* console-client/xkb/README: Keymap selection example.
|
|
|
|
| |
* console-client/xkb/parser.y(symbolname): Shift by '0' numbers [0..9].
|
|
|
|
| |
* console-client/xkb/parser.y(symbolname): Match and return hex value.
|
|
|
|
|
|
|
|
| |
* console-client/xkb/keysymdef.h: Replaced file.
* console-client/xkb/ks_tables.h: Likewise.
* console-client/xkb/kstoucs.c: Likewise.
* console-client/xkb/symname.c: Likewise.
* console-client/xkb/HACKING: New file, added foreign files information.
|
|
|
|
| |
* console-client/xkb/README: Updated.
|
| |
|
| |
|
|
|
|
|
| |
* console-client/xkb/parser.y (key_set_action): Test actions variable.
(key_set_keysym): Test keysyms instead of keys.
|
|
|
|
|
|
|
| |
* console-client/xkb/parser.y (key_set_keysym): Consider symbol's size
when reallocing.
(key_set_action): Consider (xkb_action_t *)'s size when reallocing.
Start clearing levels from 'width' and up to 'level'.
|
|
|
|
| |
* console-client/xkb/xkb-data/keymap/hurd: New keymap neo.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* console-client/xkb/lex.l(include_file): Log file changes.
* console-client/xkb/parser.y(key_set_keysym): Log symbol associations.
(include_section): Log section being read.
(symbolssect,keycodesect,key_new): Log current key.
* console-client/xkb/xkbdata.c(keyname_add): Log keyname, keycode and hash.
(set_rmod_keycode): Log modifier, keyname and keycode.
|