tiny.xkb.keysym
Defined in tiny.xkb.
API (13)
Actions
Public operations.
Types and contracts
Public types and contracts.
Namespaces
Public namespaces.
Values and defaults
Public values and defaults.
Source
Source: lib/xkb/src/keysym/case.zig:16
zig
pub fn isLower(value: Keysym) bool { return contains(data.upper[0..], value) and !contains(data.lower[0..], value);}Source: lib/xkb/src/keysym/case.zig:20
zig
pub fn isUpperOrTitle(value: Keysym) bool { return contains(data.lower[0..], value);}Source: lib/xkb/src/keysym/case.zig:8
Source: lib/xkb/src/keysym/case.zig:12
Source: lib/xkb/src/keysym/kind.zig:13
zig
pub fn isKeypad(value: Keysym) bool { const raw = @backingInt(value); return raw >= data.keypad_min and raw <= data.keypad_max;}Source: lib/xkb/src/keysym/kind.zig:5
zig
pub fn isModifier(value: Keysym) bool { const raw = @backingInt(value); return (raw >= data.modifier_core_min and raw <= data.modifier_core_max) or (raw >= data.modifier_iso_min and raw <= data.modifier_iso_max) or raw == data.mode_switch or raw == data.num_lock;}Source: lib/xkb/src/keysym/name.zig:7
zig
pub fn fromName(input: []const u8) ?Keysym { if (findExact(input)) |value| return value; if (input.len > 1 and input[0] == 'U') return unicodeNotation(input[1..]); if (input.len > 2 and std.mem.eql(u8, input[0..2], "0x")) return numericNotation(input[2..]); if (std.mem.startsWith(u8, input, "XF86_")) return xf86Notation(input); return null;}Source: lib/xkb/src/keysym/unicode.zig:7
zig
pub fn codepoint(value: Keysym) ?u21 { const raw = @backingInt(value); if (raw >= keysym.unicode_offset and raw <= keysym.unicode_max) { const direct = raw - keysym.unicode_offset; if (direct == 0 or isSurrogate(direct)) return null; return @intCast(direct); } var low: usize = 0; var high: usize = data.entries.len; while (low < high) { const middle = low + (high - low) / 2; const entry = data.entries[middle]; if (raw < entry.keysym) { high = middle; } else if (raw > entry.keysym) { low = middle + 1; } else { return entry.codepoint; } } return null;}Source: lib/xkb/src/keysym/root.zig
zig
const name = @import("name.zig");const unicode = @import("unicode.zig");const case = @import("case.zig");const kind = @import("kind.zig");const generated = @import("generated/root.zig");pub const Keysym = enum(u32) { no_symbol = 0, _,};pub const max: u32 = 0x1fffffff;pub const unicode_offset: u32 = 0x01000000;pub const unicode_max: u32 = 0x0110ffff;pub const provenance = generated.source;pub const fromName = name.fromName;pub const codepoint = unicode.codepoint;pub const lower = case.lower;pub const upper = case.upper;pub const isLower = case.isLower;pub const isUpperOrTitle = case.isUpperOrTitle;pub const isModifier = kind.isModifier;pub const isKeypad = kind.isKeypad;Source: lib/xkb/src/root.zig:50
zig
pub const keysym = @import("keysym/root.zig");Audit
| Definitions | 13 |
|---|---|
| Public names | 13 |
| Members | 2 |
| Version | 26.7.0 |
| Revision | daab053ee433 |