Hash :
4ac22263
Author :
Date :
2025-01-16T23:22:40
keysyms: Check clashes between keysyms names and keywords Due to how our parser is implemented, keysyms names that are also valid keywords require special handling. Added a check for these clashes in the keysym generator. The only current clash, `section`, is already handled. Note that it means that e.g. `section`, `Section` and `sEcTiOn` all parse to the same keysym. This side effect is fine here, because *currently* there is no other keysym that clashes with any possible of the case variation of `section`. But in order to be extra cautious, we now test thoses clashes too. Hopefully we will never have a clash again, but while it is unlikely that we modify the keywords, the keysyms are not a frozen set.
#!/bin/sh
# Run this to regenerate xkbcommon-keysyms.h from the X11 headers
# defining the keysyms and update the name <-> keysym mapping.
export LC_CTYPE=C.UTF-8
export LC_COLLATE=C.UTF-8
scripts/makeheader > include/xkbcommon/xkbcommon-keysyms.h
scripts/makekeys include/xkbcommon/xkbcommon-keysyms.h \
src/xkbcomp/keywords.gperf > src/ks_tables.h
scripts/update-headers.py