FabGL
ESP32 VGA Controller and Graphics Library
Configuring PS/2 port

PS2 Keyboard connection uses two GPIOs (data and clock) and requires one 120 Ohm series resistor and one 2K Ohm pullup resistor for each signal:

                                        +5V
                                         |
                                         |
                                         *-----+
                                         |     |
                                        ---   ---
                                        | |   | |
                                        |R|   |R|
                                        |2|   |2|
                                        |K|   |K|
                                        | |   | |
                                        ---   ---
                       ------------      |     |
   GPIO33 (CLK)    ----|R 120 Ohm |------*--------- PS/2 KEYBOARD CLK
                       ------------            |
                       ------------            |
   GPIO32 (DAT)    ----|R 120 Ohm |------------*--- PS/2 KEYBOARD DAT
                       ------------

  Using above GPIOs the PS2 Keyboard Controller may be initialized in this way:
    Keyboard.begin(GPIO_NUM_33, GPIO_NUM_32);  // clk, dat

PS2 Mouse connection also uses two GPIOs (data and clock) and requires one 120 Ohm series resistor and one 2K Ohm pullup resistor for each signal:

                                        +5V
                                         |
                                         |
                                         *-----+
                                         |     |
                                        ---   ---
                                        | |   | |
                                        |R|   |R|
                                        |2|   |2|
                                        |K|   |K|
                                        | |   | |
                                        ---   ---
                       ------------      |     |
   GPIO26 (CLK)    ----|R 120 Ohm |------*--------- PS/2 MOUSE CLK
                       ------------            |
                       ------------            |
   GPIO27 (DAT)    ----|R 120 Ohm |------------*--- PS/2 MOUSE DAT
                       ------------

  Using above GPIOs the PS2 Mouse Controller may be initialized in this way:
    Mouse.begin(GPIO_NUM_26, GPIO_NUM_27);  // clk, dat


  When both a mouse and a keyboard are connected initialization must be done directly on PS2Controller, in this way:
    // port 0 (keyboard) CLK and DAT, port 1 (mouse) CLK and DAT
    PS2Controller.begin(GPIO_NUM_33, GPIO_NUM_32, GPIO_NUM_26, GPIO_NUM_27);
    // initialize keyboard on port 0 (GPIO33=CLK, GPIO32=DAT)
    Keyboard.begin(true, true, 0);
    // initialize mouse on port 1 (GPIO26=CLK, GPIO27=DAT)
    Mouse.begin(1);