summaryrefslogtreecommitdiff
path: root/sys/dev/evdev/evdev_utils.c
Commit message (Collapse)AuthorAgeFilesLines
* atkbd/evdev: recognize the Chromebook menu key as F13 like Linux does.Vladimir Kondratyev2020-06-251-1/+1
| | | | | | | | | | | | This is the key on the right side of the function keys, with the "hamburger menu" icon on it. Submitted by: GregV <greg@unrelenting.technology> MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D25390 Notes: svn path=/head/; revision=362599
* evdev: Add AT translated set1 scancodes for 'Eisu' & 'Kana' keys.Vladimir Kondratyev2020-06-171-1/+1
| | | | | | | | | PR: 247292 Submitted by: Yuichiro NAITO <naito.yuichiro@gmail.com> MFC after: 1 week Notes: svn path=/head/; revision=362260
* [evdev] Add AT translated set1 scancodes for F-unlocked F1-12 keys.Vladimir Kondratyev2020-05-041-6/+6
| | | | | | | | | | | | | | | | | "F lock" is a switch between two sets of scancodes for function keys F1-F12 found on some Logitech and Microsoft PS/2 keyboards [1]. When "F lock" is pressed, then F1-F12 act as function keys and produce usual keyscans for these keys. When "F lock" is depressed, F1-F12 produced the same keyscans but prefixed with E0. Some laptops use [2] E0-prefixed F1-F12 scancodes for non-standard keys. [1] https://www.win.tue.nl/~aeb/linux/kbd/scancodes-6.html [2] https://reviews.freebsd.org/D21565 MFC after: 2 weeks Notes: svn path=/head/; revision=360624
* evdev: Fix pause key release event in AT keyboard set 1 to evdev xlat-or.Vladimir Kondratyev2018-11-251-2/+5
| | | | | | | MFC after: 2 weeks Notes: svn path=/head/; revision=340926
* evdev: Remove evdev.ko linkage dependency on kbd driverVladimir Kondratyev2018-08-131-42/+0
| | | | | | | | | | | | | | | | | | Move evdev_ev_kbd_event() helper from evdev to kbd.c as otherwise evdev unconditionally requires all keyboard and console stuff to be compiled into the kernel. This dependency happens as evdev_ev_kbd_event() helper references kbdsw global variable defined in kbd.c through use of kbdd_ioctl() macro. While here make all keyboard drivers respect evdev_rcpt_mask while setting typematic rate and LEDs with evdev interface. Requested by: Milan Obuch <bsd@dino.sk> Reviewed by: hselasky, gonzo Differential Revision: https://reviews.freebsd.org/D16614 Notes: svn path=/head/; revision=337721
* evdev: remove soft context from evdev methods parameter list.Vladimir Kondratyev2018-08-131-3/+3
| | | | | | | | | | | | | Now softc should be retrieved from struct edvev * pointer with evdev_get_softc() helper. wmt(4) is a sample of driver that support both KPI. Reviewed by: hselasky, gonzo Differential Revision: https://reviews.freebsd.org/D16614 Notes: svn path=/head/; revision=337720
* evdev: change USB scancode 0x54 from KEY_SLASH to KEY_KPSLASHVladimir Kondratyev2017-11-201-1/+1
| | | | | | | | | | | Submitted by: dumbbell Reviewed by: gonzo, wulf Approved by: gonzo (mentor) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D12983 Notes: svn path=/head/; revision=326021
* Fix evdev codes for slash and asterisk numpad keys of AT-keyboardsVladimir Kondratyev2017-11-201-2/+2
| | | | | | | | | Reviewed by: gonzo Approved by: gonzo (mentor) MFC after: 2 weeks Notes: svn path=/head/; revision=326020
* evdev: Lock Giant around keyboard ioctlsVladimir Kondratyev2017-11-011-1/+10
| | | | | | | | | | | | This fixes turning ukbd(4) LEDs on/off with evdev interface as well Reviewed by: gonzo Approved by: gonzo (mentor) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D12676 Notes: svn path=/head/; revision=325295
* evdev: Translate KEY_102ND in evdev_scancode2key()Jean-Sébastien Pédron2017-11-011-1/+1
| | | | | | | | | | | | | | | | | This is the extra key on 102/105-keys keyboards, located on the right of the Left Shift key. For instance on a French layout, this is the '<' key. This fixes an issue where the key fires no evdev event and thus remains inactive in an evdev/libinput-enabled X.Org server. The issue only occurred on an AT keyboard; the same key on a USB keyboard worked fine. PR: 222609 (only for reference) Approved by: wulf@ Differential Revision: https://reviews.freebsd.org/D12883 Notes: svn path=/head/; revision=325269
* Change my email address to wulf@FreeBSD.org in copyright headers.Vladimir Kondratyev2017-07-231-1/+1
| | | | | | | | Approved by: gonzo (mentor) MFC after: 2 weeks Notes: svn path=/head/; revision=321399
* evdev: style(9), sort headers alphabeticallyVladimir Kondratyev2017-07-231-5/+4
| | | | | | | | | | Pointed out by: bde Reviewed by: gonzo Approved by: gonzo (mentor) MFC after: 2 weeks Notes: svn path=/head/; revision=321397
* [evdev] Fix Right Alt and Keypad Enter event codes for atkbd(4) and ↵Oleksandr Tymoshenko2017-03-121-1/+1
| | | | | | | | | | | kbdmux(4) drivers Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru> MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D9320 Notes: svn path=/head/; revision=315178
* [evdev] Fix build for older versions of clangOleksandr Tymoshenko2016-12-261-3/+3
| | | | | | | | | | | | | | | | There was report of stable/11 build failure on older versions of FreeBSD. The problem was a reference to static variable in inline function. Although fairly recent versions of clang can cope with this situation just fine there is no strict requirement to make functions in question inline, they're not in any time-critical codepath. So to keep HEAD and 11-STABLE buildable on older FreeBSDs some of the util functions were converted from inline to normal. Reported by: hselasky MFC after: 3 days Notes: svn path=/head/; revision=310612
* EVDEV: Add shortcut functions for event typesOleksandr Tymoshenko2016-10-221-4/+3
| | | | | | | | | | Add wrappers around generic evdev_push_event for specific event types: EV_KEY/EV_REL/EV_ABS etc... Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru> Notes: svn path=/head/; revision=307804
* Add evdev protocol implementationOleksandr Tymoshenko2016-09-111-0/+334
evdev is a generic input event interface compatible with Linux evdev API at ioctl level. It allows using unmodified (apart from header name) input evdev drivers in Xorg, Wayland, Qt. This commit has only generic kernel API. evdev support for individual hardware drivers like ukbd, ums, atkbd, etc. will be committed later. Project was started by Jakub Klama as part of GSoC 2014. Jakub's evdev implementation was later used as a base, updated and finished by Vladimir Kondratiev. Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru> Reviewed by: adrian, hans Differential Revision: https://reviews.freebsd.org/D6998 Notes: svn path=/head/; revision=305706