diff options
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | hwdb/60-keyboard.hwdb | 40 | ||||
-rwxr-xr-x | hwdb/parse_hwdb.py | 2 | ||||
-rw-r--r-- | man/sd_journal_get_fd.xml | 4 | ||||
-rw-r--r-- | man/sd_login_monitor_new.xml | 2 | ||||
-rw-r--r-- | src/resolve/resolve-tool.c | 4 | ||||
-rw-r--r-- | src/systemd/_sd-common.h | 4 |
7 files changed, 46 insertions, 12 deletions
@@ -1,5 +1,7 @@ # systemd - System and Service Manager +<a href="https://in.waw.pl/systemd-github-state/systemd-systemd-issues.svg"><img align="right" src="https://in.waw.pl/systemd-github-state/systemd-systemd-issues-small.svg" alt="Count of open issues over time"></a> +<a href="https://in.waw.pl/systemd-github-state/systemd-systemd-pull-requests.svg"><img align="right" src="https://in.waw.pl/systemd-github-state/systemd-systemd-pull-requests-small.svg" alt="Count of open pull requests over time"></a> [](https://semaphoreci.com/systemd/systemd)<br/> [](https://scan.coverity.com/projects/350) diff --git a/hwdb/60-keyboard.hwdb b/hwdb/60-keyboard.hwdb index 1aa729f047..795e15ddaa 100644 --- a/hwdb/60-keyboard.hwdb +++ b/hwdb/60-keyboard.hwdb @@ -1,7 +1,14 @@ # This file is part of systemd. # -# Keyboard mapping of scan codes to key codes, and -# scan codes to add to the AT keyboard's 'force-release' list. +# This file contains 3 types of metadata to apply to keyboards and +# keyboard-like input devices: +# - Key mapping +# - Hard-coded layouts +# - Absence of modifier LEDs +# +# The matching process is the same for the different types of metadata. +# +# ########################### MATCHING ####################################### # # The lookup keys are composed in: # 60-evdev.rules @@ -40,6 +47,12 @@ # /sys/class/input/input?/capabilities/ev" and <vendor> is the # firmware-provided string exported by the kernel DMI modalias, # see /sys/class/dmi/id/modalias + + +# ######################### KEY MAPPING ###################################### +# +# Keyboard mapping of scan codes to key codes, and +# scan codes to add to the AT keyboard's 'force-release' list. # # Scan codes are specified as: # KEYBOARD_KEY_<hex scan code>=<key code identifier> @@ -1274,9 +1287,13 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDIXONSP:pnDIXON*:pvr* KEYBOARD_KEY_ae=! # volume down KEYBOARD_KEY_b0=! # volume up -########################################################### -# Fixed layout devices -########################################################### +######################### FIXED LAYOUT DEVICES ############################# +# This section lists devices for which only one keyboard layout is possible +# or useful such as devices which "type" expecting the user's keymap to match +# a particular one. For example, barcode readers and OTP keys. +# +# The layout must be an xkb compatible layout (defined with XKB_FIXED_LAYOUT), +# with an accompanying variant (defined with XKB_FIXED_VARIANT) if necessary. # Yubico Yubico Yubikey II" evdev:input:b0003v1050p0010* @@ -1288,3 +1305,16 @@ evdev:input:b0003v1050p0116* evdev:input:b0003v05FEp1010* XKB_FIXED_LAYOUT="us" XKB_FIXED_VARIANT="" + +######################### LACK OF MODIFIER LEDS ############################ +# This section lists keyboard which do not have their own LEDs for some +# modifiers. Only Caps-Lock (KEYBOARD_LED_CAPSLOCK) and Num-Lock +# (KEYBOARD_LED_CAPSLOCK) are currently handled and need their values set +# to "0" to indicate the absence of LED. +# +# Presence of a LED is implicit when the property is absent. + +# Logitech K750 +evdev:input:b0003v046Dp4002* + KEYBOARD_LED_NUMLOCK=0 + KEYBOARD_LED_CAPSLOCK=0 diff --git a/hwdb/parse_hwdb.py b/hwdb/parse_hwdb.py index b57e6f75aa..e2c65c4be0 100755 --- a/hwdb/parse_hwdb.py +++ b/hwdb/parse_hwdb.py @@ -112,6 +112,8 @@ def property_grammar(): ('ID_INPUT_TOUCHPAD_INTEGRATION', Or(('internal', 'external'))), ('XKB_FIXED_LAYOUT', STRING), ('XKB_FIXED_VARIANT', STRING), + ('KEYBOARD_LED_NUMLOCK', Literal('0')), + ('KEYBOARD_LED_CAPSLOCK', Literal('0')), ('ACCEL_MOUNT_MATRIX', mount_matrix), ) fixed_props = [Literal(name)('NAME') - Suppress('=') - val('VALUE') diff --git a/man/sd_journal_get_fd.xml b/man/sd_journal_get_fd.xml index 61293f7f99..2e686caccb 100644 --- a/man/sd_journal_get_fd.xml +++ b/man/sd_journal_get_fd.xml @@ -146,7 +146,7 @@ if (t == (uint64_t) -1) else { struct timespec ts; uint64_t n; - clock_getttime(CLOCK_MONOTONIC, &ts); + clock_gettime(CLOCK_MONOTONIC, &ts); n = (uint64_t) ts.tv_sec * 1000000 + ts.tv_nsec / 1000; msec = t > n ? (int) ((t - n + 999) / 1000) : 0; }</programlisting> @@ -304,7 +304,7 @@ int wait_for_changes(sd_journal *j) { else { struct timespec ts; uint64_t n; - clock_getttime(CLOCK_MONOTONIC, &ts); + clock_gettime(CLOCK_MONOTONIC, &ts); n = (uint64_t) ts.tv_sec * 1000000 + ts.tv_nsec / 1000; msec = t > n ? (int) ((t - n + 999) / 1000) : 0; } diff --git a/man/sd_login_monitor_new.xml b/man/sd_login_monitor_new.xml index 5625ab9207..129c99f97d 100644 --- a/man/sd_login_monitor_new.xml +++ b/man/sd_login_monitor_new.xml @@ -203,7 +203,7 @@ if (t == (uint64_t) -1) else { struct timespec ts; uint64_t n; - clock_getttime(CLOCK_MONOTONIC, &ts); + clock_gettime(CLOCK_MONOTONIC, &ts); n = (uint64_t) ts.tv_sec * 1000000 + ts.tv_nsec / 1000; msec = t > n ? (int) ((t - n + 999) / 1000) : 0; }</programlisting> diff --git a/src/resolve/resolve-tool.c b/src/resolve/resolve-tool.c index 32537ce6e8..c62058917f 100644 --- a/src/resolve/resolve-tool.c +++ b/src/resolve/resolve-tool.c @@ -114,8 +114,8 @@ static void print_source(uint64_t flags, usec_t rtt) { flags & SD_RESOLVED_DNS ? " DNS" :"", flags & SD_RESOLVED_LLMNR_IPV4 ? " LLMNR/IPv4" : "", flags & SD_RESOLVED_LLMNR_IPV6 ? " LLMNR/IPv6" : "", - flags & SD_RESOLVED_MDNS_IPV4 ? "mDNS/IPv4" : "", - flags & SD_RESOLVED_MDNS_IPV6 ? "mDNS/IPv6" : ""); + flags & SD_RESOLVED_MDNS_IPV4 ? " mDNS/IPv4" : "", + flags & SD_RESOLVED_MDNS_IPV6 ? " mDNS/IPv6" : ""); assert_se(format_timespan(rtt_str, sizeof(rtt_str), rtt, 100)); diff --git a/src/systemd/_sd-common.h b/src/systemd/_sd-common.h index 3bb886be75..97c3943861 100644 --- a/src/systemd/_sd-common.h +++ b/src/systemd/_sd-common.h @@ -22,8 +22,8 @@ /* This is a private header; never even think of including this directly! */ -#if __INCLUDE_LEVEL__ <= 1 -#error "Do not include _sd-common.h directly; it is a private header." +#if defined(__INCLUDE_LEVEL__) && __INCLUDE_LEVEL__ <= 1 +# error "Do not include _sd-common.h directly; it is a private header." #endif #ifndef _sd_printf_ |