FreeBSD Manual Pages
input_remap_translation(3) Arcan Lua API input_remap_translation(3) NAME input_remap_translation - Reset or modify platform level keyboard translation SYNOPSIS bool:ok, string:reason or nbiotbl input_remap_translation( number:devid, number:action, string:arg_1, ... ) input_remap_translation( number:devid, number:action, bool:extract, string:arg_1, ... ) DESCRIPTION For some low level platforms it makes sense modifying input translation before the inputs are processed and forwarded onwards and forego patchin in the scripting layer. The main case where this has caused problems is for Arcan running as the main display server on Linux and BSD machines, where the set of tables, configuration and so on are highly OS specific and can get quite complicated. This function can be used to define and tune such a mapping. The devid is provided by input devices and is thus discovered dynami- cally, but it can also be indirectly probed by sweeping negative in- dices in the way shown in the example further below. The action can be one out of: TRANSLATION_CLEAR , TRANSLATION_SET and TRANSLATION_REMAP . TRANSLATION_CLEAR is to revert as close to as the initial state as possible. TRANSLATION_SET is to set/override a com- plete map. TRANSLATION_REMAP is to add a specific remapping. The set of string arguments following the action will be raw-forwarded to the input platform and is thus platform dependent. It is also possible to get a readable representation of the platform input map through the extract parameter form. With TRANSLATION_SET this will just give you the map based on the spec as an iostream (see open_nonblock ). With TRANSLATION_REMAP this will instead provide the current active map. No local modifications will be made with the ex- tract form. The constant API_ENGINE_BUILD can be used to obtain which input plat- form is currently in use, which mutates the interpretation and effect of the various actions. A false result means that the feature is not supported by the platform, and reason is set to some short error message. NOTES 1 for the 'evdev' platform, the order and contents of the argument strings corresponds to xkb 'layout' -> 'model' -> 'variant' -> 'options' 2 EXAMPLE function input_remap_translation0() if string.match(API_ENGINE_BUILD, "evdev") then local ind = -1 while (input_remap_translation(ind, TRANSLATION_SET, "us,cz,de", "logicordless", "basic", "grp:alt_shift_toggle")) do ind = ind - 1 end end end EXAMPLE function input_remap_translation1() local err, msg = input_remap_translation(6666, TRANSLATION_CLEAR) if err then warning(msg) end end SEE ALSO: iodev April 2025 input_remap_translation(3)
NAME | SYNOPSIS | DESCRIPTION | NOTES | EXAMPLE | EXAMPLE | SEE ALSO:
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=input_remap_translation&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>