History log of /haiku/src/add-ons/kernel/bus_managers/ps2/ps2_keyboard.cpp
Revision Date Author Comments
# 1ece7e45 19-Jun-2023 Vladimir Serbinenko <phcoder@gmail.com>

PS2: Fix PS2 probing on Google Chromebook

Currently internal keyboard is not detected. Turns out
that reset sequence doesn't respond in expected way. Comparing with
Linux implementation, it doesn't check the return value of reset command but
compensates it by checking get_device_id and set_leds. Try reset test if it
doesn't work check ID

Change-Id: I5506f69a7083ab8ea6c936c8016fd59311a16368
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6610
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# fdbbdccc 04-Sep-2021 Adrien Destugues <pulkomandy@pulkomandy.tk>

ps2: allow more selective tracing

In some cases, we don't need the full tracking of every byte received at
the PS2 level, but higher level traces from specific devices will be
enough.

Change-Id: I31984e6b7784b5d033b457f43f3793f772213f4a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4423
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 33db0930 16-Sep-2020 user <sylvain_kerjean@hotmail.com>

PS/2 Keyboard: fix handling of Pause key.

- There is one single "Puase" key also acting as "Break"
- For historical reasons it sends a complex sequence (control + num lock) instead of having its own key code

Change-Id: I15553c0ff44fe542e3ffffa7ae1f47802d617e52
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3228
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 35b4b237 20-Feb-2020 Augustin Cavalier <waddlesplash@gmail.com>

PS/2: Fix build.

Copy/paste error from refactoring, sorry about that.


# 544e086e 20-Feb-2020 Augustin Cavalier <waddlesplash@gmail.com>

PS/2: Actually mask off SysReq when it is released.

The previous code was missing a "~" make it possible for someone to
press PrntScrn, and then later Alt+D to trigger KDL, which is obviously
not the desired behavior. SYS_REQ_KEY only triggers when Alt+SysReq
is pressed, so this was not as much of an issue without PrntScrn.


# 22806333 20-Feb-2020 Augustin Cavalier <waddlesplash@gmail.com>

PS/2: Handle PrntScrn as well as SysReq for emergency keys.

Usually these are the same physical key, but some keyboards
(like my laptop) do not have a SysReq key, only a PrntScrn key.

Fixes entering KDL via the shortcut on my laptop.


# f0d09d49 04-Oct-2013 Jérôme Duval <jerome.duval@gmail.com>

ps2: rename a constant also used in pads


# ef67788f 30-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Ported ISA bus manager and PS/2 driver.


# dee44e8b 20-Jan-2012 czeidler <haiku@clemens-zeidler.de>

Fix build.


# 268dde32 20-Jan-2012 czeidler <haiku@clemens-zeidler.de>

Always cleanup the debug reader flags when closing the keyboard device, not only when the very last device ist closed.


# 3aaf71a6 16-Oct-2011 Siarzhuk Zharski <zharik@gmx.li>

Fix for reported keyboard id endiannes. I'm sorry for the extra noise.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42867 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fc3cecb3 16-Oct-2011 Siarzhuk Zharski <zharik@gmx.li>

Support of keyboard id reading. Partially fixes #7963.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42866 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2191dfe4 11-Oct-2011 Siarzhuk Zharski <zharik@gmx.li>

* Check the KBC command byte for kbd disable bit during keyboard probe and clean
it in case it was set "on".
* Tracing added for the case of ignoring interrupt with not active OBF status bit.

Fixes #7973 #6313



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42820 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e523d3cf 02-Mar-2011 Jérôme Duval <korli@users.berlios.de>

changed ioctl hook return code when the opcode isn't supported.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40786 a95241bf-73f2-0310-859d-f6bbb57e9c96


# eddec292 21-Jul-2010 Oliver Tappe <zooey@hirschkaefer.de>

* applied patch by kaliber that fixes more than 100 warnings - thanks a lot!
Closes #6349

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37670 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 51576f91 07-May-2010 Axel Dörfler <axeld@pinc-software.de>

* Fixed broken build with TRACE_PS2 defined as reported by Pieter.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36706 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2c494653 14-Apr-2010 Axel Dörfler <axeld@pinc-software.de>

* Removed the at_kbd_io and AT keyboard stuff; this is now done within the PS/2
driver, and that driver is using the raw_key_info structure as well.
* Renamed kb_mouse_driver.h to keyboard_mouse_driver.h.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36267 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 897ca37d 13-Apr-2010 Axel Dörfler <axeld@pinc-software.de>

* Introduced a new debugger access to the keyboard drivers, and implemented that
in the PS/2 driver for now. The basic idea is to allow everyone to open the
device, but only allow one key reader (as usual). However, once someone
registers itself as a debugger, the original reader is blocked, and the
debugger can read the key presses instead.
* Renamed ps2_keyboard.c to .cpp.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36256 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f0d09d4925c304099c45c2404da7945b72ce812b 04-Oct-2013 Jérôme Duval <jerome.duval@gmail.com>

ps2: rename a constant also used in pads


# ef67788fba5d738eeb99768caea7b0e5170893f5 30-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Ported ISA bus manager and PS/2 driver.


# dee44e8b180d34f2da2e3fcbf6c303cbf228a466 20-Jan-2012 czeidler <haiku@clemens-zeidler.de>

Fix build.


# 268dde32de5b9d3eb07a365e62809e6880df6cce 20-Jan-2012 czeidler <haiku@clemens-zeidler.de>

Always cleanup the debug reader flags when closing the keyboard device, not only when the very last device ist closed.


# 3aaf71a60053276ff20beede7f50bf0d35cf1f7a 16-Oct-2011 Siarzhuk Zharski <zharik@gmx.li>

Fix for reported keyboard id endiannes. I'm sorry for the extra noise.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42867 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fc3cecb36102f3f431938728f25be7bb1dc381a1 16-Oct-2011 Siarzhuk Zharski <zharik@gmx.li>

Support of keyboard id reading. Partially fixes #7963.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42866 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2191dfe4bd3fb7134f2bcf880ca35ccb3c685522 11-Oct-2011 Siarzhuk Zharski <zharik@gmx.li>

* Check the KBC command byte for kbd disable bit during keyboard probe and clean
it in case it was set "on".
* Tracing added for the case of ignoring interrupt with not active OBF status bit.

Fixes #7973 #6313



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42820 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e523d3cfc19042fd61bc09cb10935947dfd16c71 02-Mar-2011 Jérôme Duval <korli@users.berlios.de>

changed ioctl hook return code when the opcode isn't supported.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40786 a95241bf-73f2-0310-859d-f6bbb57e9c96


# eddec292d5dd8251a00851880e16e6a5c07c1e3f 21-Jul-2010 Oliver Tappe <zooey@hirschkaefer.de>

* applied patch by kaliber that fixes more than 100 warnings - thanks a lot!
Closes #6349

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37670 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 51576f91e86d8f0f61049fad851007e1ef3494cd 07-May-2010 Axel Dörfler <axeld@pinc-software.de>

* Fixed broken build with TRACE_PS2 defined as reported by Pieter.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36706 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2c4946532910e3cc9f66a92228a2334098e6de49 14-Apr-2010 Axel Dörfler <axeld@pinc-software.de>

* Removed the at_kbd_io and AT keyboard stuff; this is now done within the PS/2
driver, and that driver is using the raw_key_info structure as well.
* Renamed kb_mouse_driver.h to keyboard_mouse_driver.h.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36267 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 897ca37d5225d71cfd750dc4c74c7977b13005c3 13-Apr-2010 Axel Dörfler <axeld@pinc-software.de>

* Introduced a new debugger access to the keyboard drivers, and implemented that
in the PS/2 driver for now. The basic idea is to allow everyone to open the
device, but only allow one key reader (as usual). However, once someone
registers itself as a debugger, the original reader is blocked, and the
debugger can read the key presses instead.
* Renamed ps2_keyboard.c to .cpp.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36256 a95241bf-73f2-0310-859d-f6bbb57e9c96