|
41d9afc5
|
2012-07-27T15:31:03
|
|
Remove ExprResult
Convert the IdentLookup typedef away from ExprResult, which drags along
everything else. This should also make all of the conversions explicit.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
bd927abf
|
2012-07-24T19:39:59
|
|
expr: drop ExprResult from ResolveEnum
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
38614c88
|
2012-07-24T17:21:29
|
|
expr: drop ExprResult from ResolveMask
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
2e4933cd
|
2012-07-24T10:39:15
|
|
expr: drop ExprResult from ResolveInteger
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
d5682289
|
2012-07-24T01:22:26
|
|
expr: drop ExprResult from ResolveButton
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
e258f9ee
|
2012-07-24T00:10:07
|
|
expr: drop ExprResult from ResolveGroup
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
0d262fa1
|
2012-07-23T19:52:17
|
|
expr: drop ExprResult from ResolveBoolean
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
27f94929
|
2012-07-23T15:46:50
|
|
expr: drop ExprResult from ResolveString
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
025ca579
|
2012-07-23T12:20:05
|
|
expr: drop ExprResult from ResolveLhs
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
761b675c
|
2012-07-23T11:56:13
|
|
expr: drop ExprResult from ResolveKeyName
Explicit is better than implicit, and this union makes it hard to follow
what's what, particularly the confusion with ival/uval.
The other Resolve functions will follow.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
724f62c8
|
2012-07-25T17:29:08
|
|
Convert defines to enums in xkbcomp.h
For statement / expression types.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
89723b7c
|
2012-07-24T19:54:14
|
|
utils: add/replace string equality macros
It's more tidy and less error prone, since we use strcasecmp == 0 a lot.
We replace strcmp == 0 by streq, strcasecmp == 0 by istreq,
uStrCasePrefix by istreq_prefix and uDupString by strdup_safe.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
4f843c81
|
2012-07-24T13:24:59
|
|
Drop Xkbc prefix of text functions
Not really needed and inconsistent.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
6cb98200
|
2012-07-24T13:15:40
|
|
Use xkb_mod_mask_t and xkb_mask_index_t throughout
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
74be1762
|
2012-07-23T21:30:28
|
|
Remove alloc.{c,h}
These functions are more appropriate elsewhere now.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
112cccb1
|
2012-07-23T16:03:34
|
|
Some atom related optimizations
We often get a strdup'd string, just to pass it over the atom_intern and
then immediately free it. But atom_intern then strdup's it again (if
it's not interned already); so instead we can have the interning "steal"
the memory instead of allocing a new one and freeing the old one. This
is done by a new xkb_atom_steal function.
It also turns out, that every time we strdup an atom, we don't actually
modify it afterwards. Since we are guaranteed that the atom table will
live as long as the context, we can just use xkb_atom_text instead. This
removes a some more dynamic allocations.
For this change we had to remove the ability to append two strings, e.g.
"foo" + "bar" -> "foobar"
which is only possible with string literals. This is unused and quite
useless for our purposes.
xkb_atom_strdup is left unused, as it may still be useful.
Running rulescomp in valgrind, Before:
==7907== total heap usage: 173,698 allocs, 173,698 frees, 9,775,973 bytes allocated
After:
==6348== total heap usage: 168,403 allocs, 168,403 frees, 9,732,648 bytes allocated
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
d659f2b4
|
2012-07-21T15:12:31
|
|
expr: use new log functions
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
e037f518
|
2012-07-21T14:53:49
|
|
action: use new log functions
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
8b0e9f92
|
2012-07-20T13:07:30
|
|
utils: remove uTypedAlloc/Calloc
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
50b25a12
|
2012-07-17T11:03:43
|
|
Use xkb_group_index_t for group variables throughout
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
dfa0929c
|
2012-07-16T22:15:43
|
|
Convert macros to inline functions
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
d0097f4e
|
2012-07-15T15:55:34
|
|
Pass around xkb_key's instead of keycodes
This way we don't need to look up the key every time. We now only deal
with keycodes in the public API and in keycodes.c.
Also adds an xkb_foreach_key macro, which is used a lot.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
7d9f0313
|
2012-07-15T13:00:04
|
|
Get rid of struct xkb_key_name
Just embed it directly.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
81d029f5
|
2012-07-15T11:52:54
|
|
Replace xkb_keycode_t 'key' variable name by 'kc'
We want to reserve the name 'key' for something else.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
9308a460
|
2012-07-17T10:20:15
|
|
Run source tree through uncrustify
.uncrustify.cfg committed for future reference also, but had to manually
fix up a few things: it really likes justifying struct initialisers.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
7b00485a
|
2012-05-11T15:03:43
|
|
Rename 'ctx' back to 'context' in external API
Still keep things as 'ctx' internally so we don't have to worry about
typing it too often, but rename the user-visible API back as it was
kinda ugly.
This partially reverts e7bb1e5f.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
e7bb1e5f
|
2012-05-09T15:03:11
|
|
Shorten context to ctx
(This breaks the API.)
"context" is really annoying to type all the time (and we're going to
type it a lot more :). "ctx" is clear, concise and common in many other
libraries. Use it!
Signed-off-by: Ran Benita <ran234@gmail.com>
[daniels: Fix for xkb -> keymap change.]
|
|
cdd2906d
|
2012-05-09T13:50:05
|
|
Make the context available for XkbcAtomText
And rename the function to xkb_atom_text.
Signed-off-by: Ran Benita <ran234@gmail.com>
[daniels: Updated for xkb -> keymap.]
|
|
8d680e80
|
2012-05-09T12:01:03
|
|
Make the context available for XkbcAtomGetString
In preparation of contextualizing atom handling.
Since we touch every function call, we also rename the function to
xkb_atom_strdup to match xkb_atom_intern, and be more descriptive.
Signed-off-by: Ran Benita <ran234@gmail.com>
[daniels: Updated for xkb -> keymap.]
|
|
c117318f
|
2012-05-09T11:47:20
|
|
Make the context available to xkb_intern_atom
In preparation of contextualizing the atom table.
Since we touch every function call, also rename the function to
xkb_atom_intern, to match better with the rest (which will also be
renamed).
Signed-off-by: Ran Benita <ran234@gmail.com>
[daniels: Fixed for 'xkb' -> 'keymap'.]
|
|
38cb6390
|
2012-05-09T15:15:30
|
|
Change all 'xkb' xkb_keymap names to 'keymap'
To make it a bit more clear what it actually is.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
33273304
|
2012-05-08T13:57:07
|
|
Rename xkbcomp/misc.h to xkbcomp-priv.h and use it
The include dependencies were quite convoluted, where you change the
order and get a ton of errors. Instead, change one file to act as the
internal interface for the xkbcomp files, and make every file use it.
Also drop the pointless "xkb" prefix to file names.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
12b3495d
|
2012-04-11T01:55:50
|
|
Remove unused 'which' and 'merge' arguments
Signed-off-by: Ran Benita <ran234@gmail.com>
[daniels: Updated for xkb_desc -> xkb_keymap changes.]
|
|
a641a185
|
2012-04-06T03:38:55
|
|
Use stdbool.h
'Cause defining your own True and False is so 1990's.
Signed-off-by: Ran Benita <ran234@gmail.com>
[daniels: Fixed for xkb_desc -> xkb_keymap changes.]
|
|
a39ed85f
|
2012-04-05T11:24:39
|
|
Fix formatting in xkbcomp headers
Signed-off-by: Ran Benita <ran234@gmail.com>
[daniels: Fixed for xkb_desc -> xkb_keymap change.]
|
|
b1e49ff9
|
2012-04-06T04:33:43
|
|
Reformat actionHandler dispatch table
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
ef88c7ef
|
2012-04-03T15:14:16
|
|
Rename xkb_desc to xkb_keymap
struct xkb_desc was just a hangover from the old XkbDescRec, which isn't
a very descriptive name.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
c83043b3
|
2012-03-31T01:26:15
|
|
Make temporary fix for stale xkb_atoms
When xkb_free_keymap is called the atoms are all free'd, but action.c
keeps a global copy of interned "true" and "false", which remains stale.
The correct fix is to remove the need for the ActionsInit function
entirely.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
bc8bbf50
|
2012-03-27T15:50:59
|
|
Fix build for X11 modifier masks
Exposed by include path changes, oops.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
602e8780
|
2012-03-24T13:27:48
|
|
Define our own NoSymbol value and use it
Since we have our own xkb_keysym_t type, it makes sense to have our own
NoSymbol value instead of the one from X11/X.h.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
d3908b63
|
2012-03-24T12:33:28
|
|
Define our own None atom value
Since we define our own xkb_atom_t type, it makes sense not to use the
X11/X.h None value. This way we can also remove a lot of X11 includes.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
f08ce9b7
|
2012-03-24T00:26:12
|
|
Use strcasecmp consistently instead of uStrCaseCmp
There's no use calling the same thing by a different name.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
f9b3a14e
|
2012-03-10T14:36:30
|
|
Remove overlay support as well
Right now we just silently ignore overlay controls, which is probably
bad, but it's not the easiest to fix.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
f549ce07
|
2012-03-02T17:25:58
|
|
Use global tables for action string handling
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
eb738b13
|
2012-03-02T17:40:19
|
|
Constify global tables
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
4bc839ab
|
2012-02-29T20:50:17
|
|
Use memset instead of bzero
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
a3e40917
|
2012-03-01T23:43:51
|
|
Remove return's at the end of void functions
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
f3e4335f
|
2012-02-24T16:07:17
|
|
Fix all constness warnings
These are all trivial/obvious fixes which clear a bunch of warnings.
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
a0dd0526
|
2012-02-25T11:46:12
|
|
Remove unused includes of "tokens.h"
Signed-off-by: Ran Benita <ran234@gmail.com>
|
|
e209fe31
|
2012-02-20T17:33:39
|
|
Perform bounds checking in ExprResolveGroup
Every caller did the exact same check on the group bounds after calling
ExprResolveGroup, so might as well do it inside.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
90d86c36
|
2012-02-20T16:54:54
|
|
Remove field reference lookup support
None of the lookup functions anyone ever used supported field
references, so don't pretend we do in the API.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
91b89852
|
2012-02-20T16:24:02
|
|
Turn ExprResolveInteger into a simple wrapper
Move the bulk of ExprResolveInteger into an internal function called
ExprResolveIntegerLookup, and introduce ExprResolveInteger as a simple
wrapper which doesn't take priv/lookup arguments.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
e314931e
|
2012-02-20T15:47:57
|
|
Add ExprResolveGroup helper
Just a dumb wrapper around ExprResolveInteger.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
8b47dbbf
|
2012-02-20T15:47:38
|
|
Add ExprResolveButton helper
Just a dumb wrapper around ExprResolveInteger.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
26285a7b
|
2012-02-20T14:15:08
|
|
Remove priv arguments from ExprResolveString
They've never been used.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
70033b13
|
2012-02-20T14:08:55
|
|
Remove priv arguments from ExprResolveKeyName
They've never been used.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
482d4faa
|
2012-02-20T13:44:27
|
|
Remove priv arguments from ExprResolveBoolean
They've never been used.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
67605d2c
|
2012-02-20T13:32:09
|
|
Introduce ExprResolveVModMask
Which is just a slightly more typesafe wrapper around the chained
ExprResolveModMask everyone was using earlier.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
4e228511
|
2012-02-15T14:34:08
|
|
Introduce xkb_keycode_t for keycodes
And use it consistently everywhere, including with a special long-safe
internal keycode type, to ease the transition to large keycodes.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
a63e82be
|
2010-12-17T21:14:54
|
|
Rename XkbcInternAtom() to xkb_intern_atom() and export
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
|
|
12569157
|
2010-10-20T15:57:45
|
|
Restore compatible action structs
This unbreaks the X server code to serialize an xkb_desc, but loses the
32 bit vmod fields. Needs some work...
|
|
73ca959d
|
2010-09-27T16:05:52
|
|
Dead code removal and static markup
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
|
b3805a23
|
2010-07-02T12:26:43
|
|
Get rid of a few unused #defines in public header
|
|
9f602686
|
2010-07-01T14:35:24
|
|
Pull in enough structs and defines from XKBstr.h to only need XKB.h
We want to move away from sharing implementation structs and let libX11
and libxkbcommon use each their own set of structs.
|
|
e10e16ad
|
2010-06-30T17:20:56
|
|
Constify XkbcAtomText()
Atoms aren't mutable and this lets us put tbGetBuffer() back in the box.
|
|
a76df865
|
2010-06-30T16:33:25
|
|
Use the right action structs
We were casting the union members to the wrong action structs (from kbproto).
|
|
1723ef1b
|
2010-06-30T15:48:39
|
|
Copy over missing action structs from kbproto
|
|
9258cc3d
|
2010-06-30T13:31:21
|
|
Rename Xkbc*Action to struct xkb_*_action
|
|
15b0db54
|
2010-06-17T05:56:08
|
|
Copy in XkbCompatMapRec and XkbSymInterpretRec
These contain actions, so transition them ahead to XkbcAction and move
them into XKBcommon.h.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
d2d787df
|
2010-06-17T00:51:49
|
|
Regroup actions into current vs. deprecated, resize vmod
Use Xkbc* for all our actions that we intend to keep around, and Xkb*
for deprecated ones we can hopefully get rid of, at least internally.
While we're at it, make vmods be a uint32_t.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
ad0a3d7c
|
2010-06-15T15:20:32
|
|
xkbcomp: Don't leak atom text and string exprs
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
6a84a34d
|
2009-04-08T07:46:25
|
|
Remove all non-public API from XKBcommon.h header
The noble intention was to expose all the new API and new generic types
in the split out kbproto headers through XKBcommon.h. It turns out that
would be a massive amount of work in the server. Someday, but first just
wedging in XkbCompileKeymap* would be good.
Most of the API is in new internal xkb*.h headers. In order to allow the
XKBcommon.h header to be used from the server, we can't pull in other
headers from kbproto since the server has its own copies. However, types
that are different (XkbDescRec, XkbAction) still have Xkbc equivalents
here, and I think they should be used in the server.
|
|
8b100fc0
|
2009-04-05T15:15:20
|
|
Add action datatypes as defined in the server
Some of the XkbAction types are defined differently in the server, so we
add those to XKBcommon.h and use them here like XkbcDescPtr. We'll have
to deal with the impedance mismatch on the client side later.
|
|
5c910623
|
2009-04-04T09:19:51
|
|
Remove trailing spaces in source files
|
|
a27e56b6
|
2009-03-31T07:21:20
|
|
xkbcomp: Remove duplicated macros
|
|
2671b777
|
2009-03-28T14:06:26
|
|
Add more *Text functions from xkbfile
This should cover all the usage in xkbcomp. The format arguments were
dropped except for the special case of XkbModMaskText, which needs to
write in XkbCFile format in HandleVModDef. This was just changed to a
Bool to avoid the need for the macros in XKBfile.h.
The function prefixes have been renamed to be unique from xkbfile.
|
|
8544cde5
|
2009-03-28T06:56:26
|
|
xkbcomp: Drop unused Display argument in Atom functions
The xkbcommon Atom implementation doesn't take Display into account.
|
|
18337008
|
2009-03-27T20:58:27
|
|
libxkbcomp: Use the internal Atom implementation
s/XkbInternAtom/XkbcInternAtom/ and s/XkbAtomGetString/XkbcAtomGetString/
|
|
d5a9be65
|
2009-03-27T20:32:33
|
|
libxkbcomp: Drop unused format field for *Text functions
|
|
4fe322aa
|
2009-03-27T20:13:22
|
|
libxkbcomp: s/XPointer/char */
Replace XPointer with its definition since we don't have the privilege
of using Xlib.h. Why this is char * and not void *, I'll never know.
|
|
37769b5a
|
2009-03-27T20:01:32
|
|
libxkbcomp: s/XkbDescPtr/XkbcDescPtr/
We need to use the keyboard description structure from XKBcommon.h since
it doesn't have the Display field.
|
|
0c1bbb05
|
2009-03-27T06:55:32
|
|
Import xkbcomp sources for CompileKeymap
A copy of the xkbcomp sources (except the frontend) have been copied in
to provide a means to compile a XkbDescPtr. This definitely doesn't
build or do the right thing yet.
|