F1 and F3 allow partial retrieval of previous entry from console history. They are used as shortcuts such that if the following were entered at the command line:
```
md tmptmp
cd <F3>
```
F3 will retrieve the previous line from history past the cursor position, and be auto-completed to "cd tmptmp". F1 works in a similar fashion, but with one character at a time.
--
v6: conhost: Implement F1 and F3 support for history retrieval.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8467
Generic ATTribute Profile (GATT) is a protocol used by BLE devices for data exchange. Broadly, every LE device contains one or more GATT services, with each service having multiple characteristics, which contain the actual piece of data to be exchanged. The Win32 BLE api is defined in [`bluetoothleapis.h`](https://learn.microsoft.com/en-us/windows/win32/api/bluetoothleapis/), and operates on `HANDLE`s to PDOs created by the driver to remote devices and services, using the `GUID_BLUETOOTHLE_DEVICE_INTERFACE` and `GUID_BLUETOOTH_GATT_SERVICE_DEVICE_INTERFACE` class interfaces respectively.
This MR introduces initial support for accessing GATT services on LE devices:
* Create PDOs for remote devices that we discover GATT services on, and enabling `GUID_BLUETOOTHLE_DEVICE_INTERFACE` for them.
* Because the driver also creates PDOs for bluetooth radios, a tagged union is used to distinguish between device extension values to dispatch IOCTL and PnP IRPs appropriately.
* Enumerate through all `org.bluez.GattService1` objects on BlueZ, and store them on the PE driver inside the associated devices.
* Implement IOCTL_WINEBTH_LE_DEVICE_GET_GATT_SERVICES for device PDOs.
* Use the newly added IOCTL to implement [`BluetoothGATTGetServices`](https://learn.microsoft.com/en-us/windows/win32/api/bluetoothleapis/nf-bluetoothleapis-bluetoothgattgetservices).
--
v12: bluetoothapis/tests: Add tests for BluetoothGATTGetServices.
bluetoothapis: Implement BluetoothGATTGetServices.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8174
Like BUG-57912 and BUG-57913, this was encountered in https://www.smwcentral.net/?p=section&a=details&id=33546 (.resources/Lunar Magic/scripts/insert_all_patches.bat).
Unfortunately, I was unable to write a passing test; winetest redirects the child's stdout to a file, so GetConsoleScreenBufferInfo fails. And some of those numbers will vary between machines. Should I just drop the test?
--
v6: cmd/tests: Add tests for new MODE command.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7491
Like BUG-57912 and BUG-57913, this was encountered in https://www.smwcentral.net/?p=section&a=details&id=33546 (.resources/Lunar Magic/scripts/insert_all_patches.bat).
Unfortunately, I was unable to write a passing test; winetest redirects the child's stdout to a file, so GetConsoleScreenBufferInfo fails. And some of those numbers will vary between machines. Should I just drop the test?
--
v5: cmd/tests: Add tests for new MODE command.
cmd: Introduce MODE command.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7491