I would just open a file and spam your keyboard for 10 minutes or so. This will likely generate a huge data set that perfectly matches what you want.
Next to generate random like strings you can select random short(ish) chunks from the file and concatenate them together to achieve the desired spam strings.
That might look something like
"".join([example_string[i:i+random.randrange(3,5)] for i in [random.randrange(0,n) for _ in range(10)]])
My idea is to create a function that takes an input of a number and outputs a string of that length, which consists of "keyboard-like" spam.
I know how to generate a completely random string of characters, however, I'm trying to make it look as if it's real "spam" from someone typing on a keyboard.
For example:

a key closer in proximity to one previously pressed is more likely to be pressed next
keys on the home row may have a higher chance to be pressed
areas where the fingers rest are more likely to be pressed

I'm new to StackOverflow and newish to python so forgive me if there's any errors with how I'm asking this.
I don't have any code yet because I have 0 idea how I would go about doing this.
The best idea I have would be to randomly assign values to each key, and somehow tell the program where each key is physically located in proximity to each other, but this seems inefficient.
I'm not looking for a way to input this into a textbox or on a website somewhere, I only want to generate the random text in a string through a function.
You don't have to write the whole thing but I would greatly appreciate any help or ideas how to do this, thank you.
How could I make a function that generates realistic "keyboard-like" spam? (In python)